大家能否给讲解一下, 需要用到哪些特别的技术?
和一般的小型数据的增删改查有什么不同?
谢谢

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