大家能否给讲解一下, 需要用到哪些特别的技术?
和一般的小型数据的增删改查有什么不同?
谢谢
1
saulshao 2020-07-09 14:32:46 +08:00
10GB/10000 = 1MB/条,这就需要你详细描述一下到底有个什么样的字段它特别大了。
再就是你需要使用什么样的查询条件?获取什么样的结果集? |
2
hyq 2020-07-09 14:34:04 +08:00
1. 合适地添加索引
2. 可以考虑用 tokudb 的压缩数据库引擎,可以更快地修改表结构,更快查询,占用空间更小 3. 如果对查询的效率要求比较高,可以考虑下列式存储的数据库 4. 如果增删改查都比较频繁,并且数据库格式比较简单,可以考虑 redis 这类内存数据库 |
3
RickyC OP @saulshao
1. 1MB/条, 是因为有一个大的 JSON 字段, 存储一些用于计算的数据 2. 查询条件很复杂, 最终要得到的是那个大的 json; 是通过对其他列数据的筛选, 最终得到 json |
6
ChoateYao 2020-07-09 14:47:29 +08:00
1 万条数据 /10G,不是索引的问题,是磁盘 IO 和网络 IO 问题,你用 MySQL 怎么处理都不可能避免这一部分。
|
9
bthulu 2020-07-09 15:14:47 +08:00
数据库里不存这个 json, 直接按 id 名写到文件里. 查询到 id 后, 直接读这个文件就行了
|
10
saulshao 2020-07-09 15:22:22 +08:00 1
楼上(9#)的建议已经很中肯了,如果你不需要查询这个 Json 本身,就这么办最合适。
这个其实就按照常规的做法来做就行,你可以试试看写入 10000 行数据需要多久,查询的瓶颈应该不在于查询本身,而是查询完成后加载结果集的时间会非常长。 |
11
murmur 2020-07-09 15:25:46 +08:00
10gb 这个应该是对象存储了,如果是文本的话得弄全文索引,mysql 不行,这怕是一行就是一本色库全书
|
12
gainsurier 2020-07-09 15:34:40 +08:00
才 10000 条就不要用 MySQL 了
|
13
Mac 2020-07-09 15:37:16 +08:00 via Android
瓶颈不在数据库种类,而是 io
|
14
wangyzj 2020-07-09 15:39:49 +08:00
这个取决于你要怎么查询
是否有 全文索引等等 |
15
opengps 2020-07-09 16:04:03 +08:00
标题里的 10GB/10000 条 是啥意思?
10G 有问题,还是 10000 条有问题?把斜线理解成或者,那么几乎没区别,把单行数据理解为 10M,那这个过程太耗时确实会出现一些 io 等问题 |
16
mosliu 2020-07-09 16:07:33 +08:00
如果不需要那串 json 参与查询的话
json 单独存放 文件、hbase 等都可以 然后 mysql 存一个指向列表 搜索做好索引。 |
17
xsm1890 2020-07-09 16:09:47 +08:00 1
大字段 json 建议单独存储,再 mysql 存储一个指向。。mysql 是按页存储数据的,为 16k,数据过大出现大量的行迁移,查询性能及写入性能都不会很好
|
18
kanepan19 2020-07-09 16:29:03 +08:00
存文件,比如 OSS.
要全文检索的, 同步到 es 里去. |
19
luckoct 2020-07-09 16:41:13 +08:00
感觉存到 mongodb 挺合适
|
20
pkupyx 2020-07-09 22:42:54 +08:00
不如直接存文件,mysql 指向 URL
|
21
wentaoliang 2020-07-09 23:03:31 +08:00
mysql 只存一个 uuid,拿 uuid 做 key 存到 hbase 里
|
22
creatdate 2020-07-10 09:30:15 +08:00
我都是在数据库里存地址路径 FilePath,把 json 、xml 、图片、pdf 文件改名,直接放磁盘上,目前还没见过有人把文件存数据库的。(事实上如果文件内容相对固定且 size 很小,我认为放数据库也没什么不妥)
|
23
RickyC OP |
24
h123123h 2020-07-10 14:06:24 +08:00
mysql 存 id,根据 id 去 es 或者 mongodb 去查?
|
25
northernlights 2020-07-10 17:14:28 +08:00
一看到这标题就感觉不正常,你是把图片放数据库里了吧?
|