目前数据都直接存放在 mysql 中,但是对 mysql 进行备份的时候非常不方便,这些历史数据不是特别的重要,其实不需要和其他业务数据一起进行备份。
想问问各位 v 友,类似的需求,使用什么数据库保存会比较方便?
1
tuding 2018-10-12 13:38:10 +08:00
存成本地文件, mysql 保存文件路径?
|
2
weizhen199 2018-10-12 13:40:22 +08:00
你要简单就 blob text,最好分下表
|
3
a3mao 2018-10-12 13:42:10 +08:00
mongo 这个就是文档数据库
|
4
mason961125 2018-10-12 14:06:26 +08:00
mongo + 1
|
5
feloxx 2018-10-12 14:14:17 +08:00
mg 有单条 16mb 的限制
注意一下这个就是,mg 也不错 如果要做全文索引,也可以拿 es 来存 |
6
letitbesqzr OP |
7
cloverii 2018-10-12 14:24:22 +08:00
我们是在 mysql 里存条记录,文本放 kv 数据库
|
8
letitbesqzr OP @cloverii #7 是什么 kv 数据库呢?
|
9
cloverii 2018-10-12 14:32:02 +08:00
@letitbesqzr 自研的……最近为了检索,准备上 ES 了
|
10
boris1993 2018-10-12 14:35:19 +08:00 via Android
@letitbesqzr 8# 我记得就是 Key-Value 数据库,比如 Redis 这样的?
|
11
letitbesqzr OP @cloverii #9 膜拜大厂,我们考虑过存储 es,有 es 大数据方面的一些经验,但是这数据不检索,存 es 有点浪费性能了。
|
12
likuku 2018-10-12 19:40:59 +08:00 1
看需求,MongoDB 是挺适合(就是吃硬盘比较猛),
不求特别快的速度,且文件名可快检索(重名率低) hadoop 的 hdfs 也可以,直接按路径信息+文件名 存下,取的时候也一样。 至少它们都可以集群化扩展,hadoop 也是需要一些学习成本。 再者,可以参考图片型网站的存储方式:文档(html) 按目录保存成文件,路径信息保存在 DB 里 (mysql 就行)。文件可以保存在 带冗余的 ZFS / btrfs 等支持 snapshot 的高级文件系统,或者更高级的专业存储设备里。 这样,你再备份就相对简单很多了,db 的路径信息相对就小的多, 文件嘛,有了快照,就可以机器空闲时间把快照版本的文件 rsync 之类工具传输到专用备份设备上去。 习惯了 SQL 的话,PostgreSQL 也可以考虑,它字符串类型可以支持到 1GB 大小(你一个文档有这么大么?): "In any case, the longest possible character string that can be stored is about 1 GB. " 来源: PostgreSQL: Documentation: 10: 8.3. Character Types : https://www.postgresql.org/docs/10/static/datatype-character.html 8.3. 字符类型 | PostgreSQL 中文文档 9.3 : https://wizardforcel.gitbooks.io/postgresql-doc/64.html |
13
letitbesqzr OP @likuku #12 感谢那么详细的回复,MongoDB 和 存文件数据库存路径 我们再考虑下业务上哪个更合适。
|
14
mutalisk 2018-10-13 16:55:03 +08:00
LevelDB
RocksDB |
15
dezhou9 2019-01-03 14:06:14 +08:00 via Android
s3
|