公司做小游戏之前用的 SQL Server,
另外一块短信对接项目用的 MongoDB,日志用的 MySQL。
后面因为项目比较多又不想付费把小游戏那块全部换成 MySQL 了。
最近业务量上来了,发现 MySQL 有点吃力。
请教一下现在哪些免费数据库坑比较少的呢。
有同事提议 MongoDB,但是之前好像比较火,
现在都没人吹捧了,加上坑好像比较多待考虑了。
MySQL、MariaDB、Percona、AliSQL、PostgreSQL、MongoDB
暂时不考虑 Oracle 和 SQL Server
各位 V 友用的啥,对应什么应用场景?
或者哪几个组合比较好。
1
18258226728 2019-12-03 18:01:39 +08:00
mysql+mongodb+redis+es 吧,表设计、索引和优化做好,我感觉可以覆盖绝大部分场景了
普通的业务 mysql 就能搞定,数据量太大了可以分库分表 需要实时的 redis+mq 异步搞 一些非结构化的 mongodb 可以搞 需要搜索的 es 搞 看你是什么场景了,一般都是多个结合使用 |
2
lc7029 2019-12-03 18:05:32 +08:00
重要数据全在 Oracle,IBM 大型机上用过 DB2,不知道什么原因迁移到 Oracle 了。
存储是 NetAPP 的 SAN 网,FC 连接 Oracle 服务器,RAC 热备。 没有非结构化数据库。 感觉用什么数据库取决于需求,而不是为了用某种数据库而用某种数据库。 |
3
firstfire 2019-12-03 18:09:13 +08:00
MySQL 可以分库分表 ,推荐 sharding-jdbc
|
4
qhxin 2019-12-03 18:10:21 +08:00
ACCESS
|
5
wangyzj 2019-12-03 18:17:29 +08:00
@18258226728 再加个 hbase 吧
|
6
Zackkkk 2019-12-03 18:18:59 +08:00 2
我们的数据量在 PB 级,目前我的项目用到的数据库:
Mysql:业务 OLTP,数据量太大,后迁至 TiDB TiDB:业务 OLTP,不需要分库分表,前期坑比较多,需要专门的人维护。 Presto/Hive:大数据量的离线数据存储,数据仓库,数据可导到 Druid 与 ClickHourse。简单可以通过 Presto 直接查询 Hive,不过效率比较低。 Druid:统计数据可预计算,不适合数据检索,但不能有太多低基字段,否则存储成本高。我们用在数据统计计算 ClickHourse:适合统计与数据检索,性能在 Presto 与 Druid 之间,但不能作为持久存储,一般 TTL 半年,否则存储成本太高。若需要大数据量的检索则选这个比较合适,目前我们用在前端数据上报。 |
7
Zackkkk 2019-12-03 18:22:36 +08:00
更正下 druid 不适合有太多高基数字符串字段(如 uid 这种),不是低基
|
8
kejxp1993 2019-12-03 18:24:32 +08:00 via Android
sql server +redis+es
|
9
airyland 2019-12-03 21:19:56 +08:00 via iPhone
pg
|
10
shiny 2019-12-03 21:24:23 +08:00
如果 MySQL 也用不好,很怀疑迁到其他数据库能撑多久。
|
11
levelworm 2019-12-03 21:53:30 +08:00 via Android
databricks, impala, vertica
mysql, postgresql |
12
LockShell 2019-12-03 22:10:37 +08:00
MySQL, Redis, TiDB
|
13
makisang 2019-12-03 22:28:07 +08:00 via iPhone
@18258226728 请教下常说的非结构化数据库一般用来存什么?新手目前感觉所有数据都能结构化呀
|
15
18258226728 2019-12-04 09:22:49 +08:00
@makisang 这个和场景有关,比如我有一个事件中心或者说是用户行为中心类似的服务(或者说是日志?),有个表保存所有事件,有登录事件,下单事件,付款事件等等,每个事件有部分字段相同,有部分字段是动态变化的。
登录事件:用户、登录时间、登录平台、ip 等 下单事件:用户,下单时间、购买平台、订单号、商品详单(数组,商品可能还包括商品信息等),金额等 付款事件:用户,付款事件、实际付款、优惠券什么的,等等 |
16
18258226728 2019-12-04 09:24:47 +08:00
@wangyzj 嗯,没考虑数仓那部分,只加上 hbase 其实和 mongodb/es 类似了,考虑到数仓一个 hbase 也不够哈,又要多出好多东西
|
17
haha370104 2019-12-04 10:13:48 +08:00
@makisang 举个例子,比如现在有个前端活动页天天改,作为一个切图工程师实在是不想天天去改代码,你于是写了一套拖拽生成活动页的后台系统,通过 json 数据组装出活动页
这个 json 数据类似于{type: string, content: string, style: any}[]这样的形式,现在你需要存数据库。 这种数据很少会有检索的需求(但是很低频的情况下可能也会有,比如说产品希望统一把所有「用户」这个词改成「客户」),于是你按照结构化存储当然是可以的,但是每次组装都需要从库内完全遍历组合一遍,所以直接统一丢 MongoDB 是不是问题解决 |
18
ClarkAbe 2019-12-04 14:09:14 +08:00 via Android
Json 嵌入式加 map 缓存
|
19
qinchaofeng 2020-05-26 09:28:08 +08:00
OLAP 用 Vertica 和 GP 吧
|