t**r 发帖数: 3428 | |
p*****2 发帖数: 21240 | 2 小公司多 大部分应用scale都没有大到用cassandra
【在 t**r 的大作中提到】 : 如题
|
z****e 发帖数: 54598 | 3 因为mongo跟传统db最像
习惯了传统db的同学就不愿意花太多时间转型做nosql |
e*******o 发帖数: 4654 | 4 正解
大数据其实是个幌子,多数应用传统的db 其实够用。
小公司很多mongo 也是单机,用mongo 不是因为大数据,而是简单。
【在 p*****2 的大作中提到】 : 小公司多 大部分应用scale都没有大到用cassandra
|
l*********s 发帖数: 5409 | 5 那mongo单机比传统的db好在那里呢?
【在 e*******o 的大作中提到】 : 正解 : 大数据其实是个幌子,多数应用传统的db 其实够用。 : 小公司很多mongo 也是单机,用mongo 不是因为大数据,而是简单。
|
f*******t 发帖数: 7549 | 6 支持js
【在 l*********s 的大作中提到】 : 那mongo单机比传统的db好在那里呢?
|
l*********s 发帖数: 5409 | 7 presql supports json as well, right?
【在 f*******t 的大作中提到】 : 支持js
|
g*****g 发帖数: 34805 | 8 长线来看,mongo用户会多,但都是小客户,不一定有 C*挣钱。 |
e*******o 发帖数: 4654 | 9 简单
灵活
如果需要 scale 也很容易
【在 l*********s 的大作中提到】 : 那mongo单机比传统的db好在那里呢?
|
e*******o 发帖数: 4654 | 10 那个根本不一样 就是field 可以存JSON
JSON 早有了 只是最近才有jsonb 我没仔细玩过 但是感觉跟mongo的操纵JSON 灵活性
差点
太远.
【在 l*********s 的大作中提到】 : presql supports json as well, right?
|
|
|
z****e 发帖数: 54598 | 11 mongo scale一点都不容易
铺天盖地都是骂mongo scale麻烦的文章
【在 e*******o 的大作中提到】 : 简单 : 灵活 : 如果需要 scale 也很容易
|
z****e 发帖数: 54598 | 12
不对吧?
json是数据格式,应该是整个文件用json才对
field存什么json
json取出来之后,怎么manipulate这个纯粹是语言自身feature的事
ruby用来manipulate json也不难,尤其是新版本的ruby改进了对于json的支持之后
其他语言主要是不太喜欢json这种格式,所以有些时候需要转换
但是也没有难到哪里去了,无非几个api的事
【在 e*******o 的大作中提到】 : 那个根本不一样 就是field 可以存JSON : JSON 早有了 只是最近才有jsonb 我没仔细玩过 但是感觉跟mongo的操纵JSON 灵活性 : 差点 : 太远.
|
e*******o 发帖数: 4654 | 13 想想 PostgreSQL scale为啥没人骂?
【在 z****e 的大作中提到】 : mongo scale一点都不容易 : 铺天盖地都是骂mongo scale麻烦的文章
|
e*******o 发帖数: 4654 | 14 你看来没用过mongo
postgres 只负责存储 简单query
这个缺点就是 你要干个啥 必须先把整个JSON读出来 如果要update 要在存进去
mongo 是inplace的 不需要读出来
你这一读一写 黄花菜都凉了
另外 postgres 哪有文件这个概念?
【在 z****e 的大作中提到】 : : 不对吧? : json是数据格式,应该是整个文件用json才对 : field存什么json : json取出来之后,怎么manipulate这个纯粹是语言自身feature的事 : ruby用来manipulate json也不难,尤其是新版本的ruby改进了对于json的支持之后 : 其他语言主要是不太喜欢json这种格式,所以有些时候需要转换 : 但是也没有难到哪里去了,无非几个api的事
|
w***g 发帖数: 5958 | 15 document store是一个legitimate的应用。
问题是很多人图方便,用它来代替关系数据库。
一开始有显而易见的好处,就是数据也不用清洗了,
啥东西都存得进去。也不用建模关系了。
然后management不懂技术,一被人忽悠就以为是silver bullet了。
很多应该几年后都back fire了。
我知道有人用mongo存日志的。
【在 l*********s 的大作中提到】 : 那mongo单机比传统的db好在那里呢?
|
g*****g 发帖数: 34805 | 16 主要就是不用ORM这一层了,大量 UI程序员觉得存储简单了,变身全栈了。事实上是大
多数应用不需要 scale, 性能要求也不高,倒是关系和交易不能避免,所以 Mongo在这
方面是合适的。
【在 w***g 的大作中提到】 : document store是一个legitimate的应用。 : 问题是很多人图方便,用它来代替关系数据库。 : 一开始有显而易见的好处,就是数据也不用清洗了, : 啥东西都存得进去。也不用建模关系了。 : 然后management不懂技术,一被人忽悠就以为是silver bullet了。 : 很多应该几年后都back fire了。 : 我知道有人用mongo存日志的。
|
k***5 发帖数: 583 | 17 关系数据库太死板了,一旦表定义了,要改很痛苦。
至于说“很多应该几年后都back fire”有些过,做好index的话没那么夸张。 |
z****e 发帖数: 54598 | 18
也不行,因为是db,所有大多数人没有这个expectation
所以不会用来搞scale的需求
但是mongo自诩是nosql,which很多都能够很好滴address
scale的问题,比如c*
所以很多人对mongo有不切实际的expectation
一旦有了预期,达不到时候,就会骂了
【在 e*******o 的大作中提到】 : 想想 PostgreSQL scale为啥没人骂?
|
z****e 发帖数: 54598 | 19
对于规则的数据,直接上table嘛
用什么json,json用来存放不规则数据用的
table难道不比json操作快?
还可以建连接池什么的,快太多
所以postgre就能比较好滴
同时address table & json的数据
【在 e*******o 的大作中提到】 : 你看来没用过mongo : postgres 只负责存储 简单query : 这个缺点就是 你要干个啥 必须先把整个JSON读出来 如果要update 要在存进去 : mongo 是inplace的 不需要读出来 : 你这一读一写 黄花菜都凉了 : 另外 postgres 哪有文件这个概念?
|
z****e 发帖数: 54598 | 20
index不难,麻烦的是transaction
【在 k***5 的大作中提到】 : 关系数据库太死板了,一旦表定义了,要改很痛苦。 : 至于说“很多应该几年后都back fire”有些过,做好index的话没那么夸张。
|
|
|
w***g 发帖数: 5958 | 21 改表结构的话代码就可以比较干净,如果用蒙古db不改表结构,代码就会恶心。
改表结构每次改起来麻烦,但可以一直改。加代码的话要不了几次就没法维护了。
如果程序员是干一阵就拍屁股走人的话,自然喜欢加代码。对于公司来说,
几拨人走掉后,系统基本上就得重写了。
【在 k***5 的大作中提到】 : 关系数据库太死板了,一旦表定义了,要改很痛苦。 : 至于说“很多应该几年后都back fire”有些过,做好index的话没那么夸张。
|
z****e 发帖数: 54598 | 22 我以前东家,用postgresql
spring,hibernate这些
还有tomcat,做payment gateway
系统写了20多年,六周一个iteration
140多个系统,要是mongo这种搞法
早不知道死多少回了
难怪米国巨头后来要跑来收购
我们当时都很奇怪,米国没有吗?
后来发现,好像还真的没多少
连先于我们被收购的uk的一家公司也是一塌糊涂
乱搞,垃圾,跟我们当时搞的完全没有可比性
直接秒掉丫的无商量,我们当时内部竞争
干掉的对手有,us,uk还有南亚次大陆的埃森哲外包 |
e*******o 发帖数: 4654 | 23 讨论的是不规则数据啊,postgres json 和 mongodb
【在 z****e 的大作中提到】 : 我以前东家,用postgresql : spring,hibernate这些 : 还有tomcat,做payment gateway : 系统写了20多年,六周一个iteration : 140多个系统,要是mongo这种搞法 : 早不知道死多少回了 : 难怪米国巨头后来要跑来收购 : 我们当时都很奇怪,米国没有吗? : 后来发现,好像还真的没多少 : 连先于我们被收购的uk的一家公司也是一塌糊涂
|
b********e 发帖数: 595 | 24 放table的话schema change不是很容易,mysql的话一般都需要锁表。mysql 5.6可以
online schema change, 但是还是有限制, 另外对主数据库冲击比较大。
另一方面是性能,并发大的时候要减轻mysql的计算量,一般都是数据从db读到cache,
然后定期更新到db。(这个不是用户和钱的那种交易数据, 一般用户的流量数据),所
以大部分都是json来json去的。但是这个放mysql有个问题是没法delta, column的数据
越累计越大, 为了适应不断增大的json,网络包也是越来越大,但是这个是有限制的。
table没有cache中的json快
【在 z****e 的大作中提到】 : 我以前东家,用postgresql : spring,hibernate这些 : 还有tomcat,做payment gateway : 系统写了20多年,六周一个iteration : 140多个系统,要是mongo这种搞法 : 早不知道死多少回了 : 难怪米国巨头后来要跑来收购 : 我们当时都很奇怪,米国没有吗? : 后来发现,好像还真的没多少 : 连先于我们被收购的uk的一家公司也是一塌糊涂
|
b********e 发帖数: 595 | 25 mysql 5.7有支持json格式
https://www.percona.com/live/mysql-conference-2015/sessions/json-support-
mysql-57
Mongo主要是还是单写. 3.0引擎改了据说好很多,选举算法也改了
另外为了handle更多连接,还是要建多个shard. 另外备份要收钱, 不然没法一致性,
不过这个是他们的业务模式
【在 e*******o 的大作中提到】 : 你看来没用过mongo : postgres 只负责存储 简单query : 这个缺点就是 你要干个啥 必须先把整个JSON读出来 如果要update 要在存进去 : mongo 是inplace的 不需要读出来 : 你这一读一写 黄花菜都凉了 : 另外 postgres 哪有文件这个概念?
|