2019 快过了,各位现在公司用的什么数据库呢,分别对应什么应用场景?

2019-12-03 17:42:30 +08:00
 5200

公司做小游戏之前用的 SQL Server,
另外一块短信对接项目用的 MongoDB,日志用的 MySQL。
后面因为项目比较多又不想付费把小游戏那块全部换成 MySQL 了。
最近业务量上来了,发现 MySQL 有点吃力。
请教一下现在哪些免费数据库坑比较少的呢。
有同事提议 MongoDB,但是之前好像比较火,
现在都没人吹捧了,加上坑好像比较多待考虑了。

MySQL、MariaDB、Percona、AliSQL、PostgreSQL、MongoDB

暂时不考虑 Oracle 和 SQL Server
各位 V 友用的啥,对应什么应用场景? 或者哪几个组合比较好。

4491 次点击
所在节点    程序员
19 条回复
18258226728
2019-12-03 18:01:39 +08:00
mysql+mongodb+redis+es 吧,表设计、索引和优化做好,我感觉可以覆盖绝大部分场景了
普通的业务 mysql 就能搞定,数据量太大了可以分库分表
需要实时的 redis+mq 异步搞
一些非结构化的 mongodb 可以搞
需要搜索的 es 搞
看你是什么场景了,一般都是多个结合使用
lc7029
2019-12-03 18:05:32 +08:00
重要数据全在 Oracle,IBM 大型机上用过 DB2,不知道什么原因迁移到 Oracle 了。
存储是 NetAPP 的 SAN 网,FC 连接 Oracle 服务器,RAC 热备。
没有非结构化数据库。
感觉用什么数据库取决于需求,而不是为了用某种数据库而用某种数据库。
firstfire
2019-12-03 18:09:13 +08:00
MySQL 可以分库分表 ,推荐 sharding-jdbc
qhxin
2019-12-03 18:10:21 +08:00
ACCESS
wangyzj
2019-12-03 18:17:29 +08:00
@18258226728 再加个 hbase 吧
Zackkkk
2019-12-03 18:18:59 +08:00
我们的数据量在 PB 级,目前我的项目用到的数据库:
Mysql:业务 OLTP,数据量太大,后迁至 TiDB
TiDB:业务 OLTP,不需要分库分表,前期坑比较多,需要专门的人维护。
Presto/Hive:大数据量的离线数据存储,数据仓库,数据可导到 Druid 与 ClickHourse。简单可以通过 Presto 直接查询 Hive,不过效率比较低。
Druid:统计数据可预计算,不适合数据检索,但不能有太多低基字段,否则存储成本高。我们用在数据统计计算
ClickHourse:适合统计与数据检索,性能在 Presto 与 Druid 之间,但不能作为持久存储,一般 TTL 半年,否则存储成本太高。若需要大数据量的检索则选这个比较合适,目前我们用在前端数据上报。
Zackkkk
2019-12-03 18:22:36 +08:00
更正下 druid 不适合有太多高基数字符串字段(如 uid 这种),不是低基
kejxp1993
2019-12-03 18:24:32 +08:00
sql server +redis+es
airyland
2019-12-03 21:19:56 +08:00
pg
shiny
2019-12-03 21:24:23 +08:00
如果 MySQL 也用不好,很怀疑迁到其他数据库能撑多久。
levelworm
2019-12-03 21:53:30 +08:00
databricks, impala, vertica
mysql, postgresql
LockShell
2019-12-03 22:10:37 +08:00
MySQL, Redis, TiDB
makisang
2019-12-03 22:28:07 +08:00
@18258226728 请教下常说的非结构化数据库一般用来存什么?新手目前感觉所有数据都能结构化呀
CoderGeek
2019-12-03 22:51:02 +08:00
@makisang 评论 恢复 消息 短信 复杂样式格式
18258226728
2019-12-04 09:22:49 +08:00
@makisang 这个和场景有关,比如我有一个事件中心或者说是用户行为中心类似的服务(或者说是日志?),有个表保存所有事件,有登录事件,下单事件,付款事件等等,每个事件有部分字段相同,有部分字段是动态变化的。
登录事件:用户、登录时间、登录平台、ip 等
下单事件:用户,下单时间、购买平台、订单号、商品详单(数组,商品可能还包括商品信息等),金额等
付款事件:用户,付款事件、实际付款、优惠券什么的,等等
18258226728
2019-12-04 09:24:47 +08:00
@wangyzj 嗯,没考虑数仓那部分,只加上 hbase 其实和 mongodb/es 类似了,考虑到数仓一个 hbase 也不够哈,又要多出好多东西
haha370104
2019-12-04 10:13:48 +08:00
@makisang 举个例子,比如现在有个前端活动页天天改,作为一个切图工程师实在是不想天天去改代码,你于是写了一套拖拽生成活动页的后台系统,通过 json 数据组装出活动页

这个 json 数据类似于{type: string, content: string, style: any}[]这样的形式,现在你需要存数据库。

这种数据很少会有检索的需求(但是很低频的情况下可能也会有,比如说产品希望统一把所有「用户」这个词改成「客户」),于是你按照结构化存储当然是可以的,但是每次组装都需要从库内完全遍历组合一遍,所以直接统一丢 MongoDB 是不是问题解决
ClarkAbe
2019-12-04 14:09:14 +08:00
Json 嵌入式加 map 缓存
qinchaofeng
2020-05-26 09:28:08 +08:00
OLAP 用 Vertica 和 GP 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/625594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX