l***i 发帖数: 956 | 1 现在正在紧急招聘,据说是ocean base出问题了,没有备灾方案。 |
z****e 发帖数: 54598 | 2 问了下同学
他们的数据库出了问题
c++就是容易出这种问题
一时半会也不知道怎么办
因为code太多太大,反正一堆人干瞪眼
前一段node也出了问题
导致新版的页面无法交易
简单滴说,阿里老老实实用java的时候
是他们系统最稳定的时候
但凡是用其他语言装逼,基本上都会出问题 |
x*******1 发帖数: 28835 | |
d********t 发帖数: 9628 | 4 照你这么说CERN,NASA和交易所都该倒闭了。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 问了下同学 : 他们的数据库出了问题 : c++就是容易出这种问题 : 一时半会也不知道怎么办 : 因为code太多太大,反正一堆人干瞪眼 : 前一段node也出了问题 : 导致新版的页面无法交易 : 简单滴说,阿里老老实实用java的时候 : 是他们系统最稳定的时候 : 但凡是用其他语言装逼,基本上都会出问题
|
g*****g 发帖数: 34805 | 5 high availability是个很复杂的问题,现在有云相对容易做一些。总体来说要做到
active/active regional failover,一个城市挂了,可以切换到其他城市去。AWS做
zone failover很容易,regional failover基本得自己做。
另外Chaos Monkey的实践是必须的,只有经常在产品环境里做可控的模拟灾难,才能知
道系统到底哪里薄弱。
【在 l***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在正在紧急招聘,据说是ocean base出问题了,没有备灾方案。
|
g*****g 发帖数: 34805 | 6 交易所的availablity其实不是那么高,比如纽约来个大地震,股市就关门,还可以宣
布从某个时间点开始的交易无效。绝对不用说无缝切换到美西去交易。
【在 d********t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 照你这么说CERN,NASA和交易所都该倒闭了。
|
h*******u 发帖数: 15326 | 7 去ioe就搞出这么个货
【在 l***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在正在紧急招聘,据说是ocean base出问题了,没有备灾方案。
|
d********t 发帖数: 9628 | 8 人家第二天照样开门。
【在 g*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 交易所的availablity其实不是那么高,比如纽约来个大地震,股市就关门,还可以宣 : 布从某个时间点开始的交易无效。绝对不用说无缝切换到美西去交易。
|
g*****g 发帖数: 34805 | 9 得,911关了多久?交易所的难度在于延迟非常低,不在于量大和high availability。
光每天能关门维护就容易很多。
【在 d********t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 人家第二天照样开门。
|
d********t 发帖数: 9628 | 10 用Java写照样崩溃
【在 g*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 得,911关了多久?交易所的难度在于延迟非常低,不在于量大和high availability。 : 光每天能关门维护就容易很多。
|
|
|
g*****g 发帖数: 34805 | 11 重要的不是用什么语言写,而是用什么架构,怎么测试的。我老跟你们说这些是对牛弹
琴。本版崇尚我不懂的都是没用的。
【在 d********t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 用Java写照样崩溃
|
h*******u 发帖数: 15326 | 12 哪来的消息?
我老去向阿里的同学求证,人都不惜的理我
【在 l***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在正在紧急招聘,据说是ocean base出问题了,没有备灾方案。
|
y**********u 发帖数: 6366 | 13 你的意思是production load testing?
【在 g*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : high availability是个很复杂的问题,现在有云相对容易做一些。总体来说要做到 : active/active regional failover,一个城市挂了,可以切换到其他城市去。AWS做 : zone failover很容易,regional failover基本得自己做。 : 另外Chaos Monkey的实践是必须的,只有经常在产品环境里做可控的模拟灾难,才能知 : 道系统到底哪里薄弱。
|
z****e 发帖数: 54598 | 14 lol
交易所在没有计算机的年代就开门了
太把自己当回事不好
资本家雇程序员,就是找来解决问题的
从本质上说,这些东西都不过是一个工具而已
工具最大的任务,就是get things done,然后别出问题
能实现这个目的的工具,就是好工具
不能实现这个目的的工具,就是差工具
java最大的好处就是比较少出问题,维护起来比较容易
比较少出现某个屌人乱写一通,然后别人看不懂的情况
但是其他语言经常出现某个屌人乱写,然后其他人给它擦屁股的情况
当然这只是一个scale,你非要说java万能,那是不可能的
只能说java比起其他语言来说,这种鸟事更少一点而已
仅此而已,能够让资本家更为节省一点资金而已,所有的东西最终都是归于经济利益
nasa可以送个机器上火星,然后失去联系,所有投资打水漂
资本家就算它想这么搞,它敢这么搞么?一次就破产,这种生意还怎么做?
【在 d********t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 照你这么说CERN,NASA和交易所都该倒闭了。
|
g*****g 发帖数: 34805 | 15 不是 load test, 是Failover test. 比如把 美东 shutdown 确认 traffic能够
Failover到美西。刚开始肯定会发现这样那样的问题。发现问题你可以把美东重新打开
。不做这样的测试的结果就是真正出事的时候设计的 Failover根本不行。
【在 y**********u 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你的意思是production load testing?
|
z****e 发帖数: 54598 | 16 紧急招聘也没有用
这事就是阿里自己觉得自己牛逼
开始动手搞db了
老老实实用postgresql就没有这些问题
自己拉出的大便,紧急招聘也找不到人擦屁股
因为没有谁能够在短时间内把所有的代码都读懂
都是他们自己人写的,再牛的人也需要时间去理解他们写的代码
最后会发现,可能最后解决问题的,还就是写代码那批人
如果写代码那批人无能力为,这个项目基本上可以宣告over了
死扛也没用,客观现实就是如此
他们这样搞,最后还不如一开始就用postgresql
自主创新是好事,但是他们太年轻了,对于当年80年代
一大帮人写数据库,最后大部分都失败了的那段历史没有记忆
所以开始重复历史上的杯具,c++最流行的时候,大部分项目都是失败的
这可不是什么玩笑话,没有银弹那些书,基本上都是冲着c++骂过去的
这个东西不是钱多就能搞定的,人是一个非常低级的生物
经常性要重复以前犯过的错误,阿里也不例外 |
h*******u 发帖数: 15326 | 17 你先别急,可能是假消息
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 紧急招聘也没有用 : 这事就是阿里自己觉得自己牛逼 : 开始动手搞db了 : 老老实实用postgresql就没有这些问题 : 自己拉出的大便,紧急招聘也找不到人擦屁股 : 因为没有谁能够在短时间内把所有的代码都读懂 : 都是他们自己人写的,再牛的人也需要时间去理解他们写的代码 : 最后会发现,可能最后解决问题的,还就是写代码那批人 : 如果写代码那批人无能力为,这个项目基本上可以宣告over了 : 死扛也没用,客观现实就是如此
|
z****e 发帖数: 54598 | 18 也有可能
【在 h*******u 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你先别急,可能是假消息
|
n******n 发帖数: 12088 | 19 什么银弹书?
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 紧急招聘也没有用 : 这事就是阿里自己觉得自己牛逼 : 开始动手搞db了 : 老老实实用postgresql就没有这些问题 : 自己拉出的大便,紧急招聘也找不到人擦屁股 : 因为没有谁能够在短时间内把所有的代码都读懂 : 都是他们自己人写的,再牛的人也需要时间去理解他们写的代码 : 最后会发现,可能最后解决问题的,还就是写代码那批人 : 如果写代码那批人无能力为,这个项目基本上可以宣告over了 : 死扛也没用,客观现实就是如此
|
z****e 发帖数: 54598 | 20 no silver bullet
木有银弹
【在 n******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么银弹书?
|
|
|
g*********e 发帖数: 14401 | 21 俺们组现在正在用cxx从头做起搞db 也不知能不能成 |
n******n 发帖数: 12088 | 22 没有银弹那些书,基本上都是冲着c++骂过去的
你这话什么意思?哪些书?
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : no silver bullet : 木有银弹
|
z****e 发帖数: 54598 | 23 什么意思你看不懂吗?
基本上整个软件工程整个学科
都是基于前期c++的失败总结出来的各种经验教训
然后apply到工业界中去,收获了巨大的成功,使得很多项目可以被完成
而不是经常性失败,也不是什么很神奇的东西,说的基本上都是人的弱点
人这种低级生物,总是喜欢重复犯同一种错误
而且还总有人觉得自己牛逼,不会重蹈覆辙
就像共产主义一样,所有人都无私,那社会就美好极了
问题是总有混蛋不那么无私,你怎么办?
一个比较极端的方式就是用暴力强迫所有人都无私
理想主义者的悲剧就在于此
【在 n******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 没有银弹那些书,基本上都是冲着c++骂过去的 : 你这话什么意思?哪些书?
|
N********n 发帖数: 8363 | 24
交易所数据必须确保CONSISTENCY。高频环境下为了CONSISTENCY牺牲AVAILABILITY
是可接受的。
【在 d********t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 照你这么说CERN,NASA和交易所都该倒闭了。
|
q*c 发帖数: 9453 | 25 Scala 那么复杂,很多人都能懂,但是人有弱点这么简单的道理,真在实践里面懂得人
,就不多。
绝大多数人都是:这条规律对别人可能是对的,不过我是一个例外,哈哈。
整个人类的悲剧都在上面这句话里面。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么意思你看不懂吗? : 基本上整个软件工程整个学科 : 都是基于前期c++的失败总结出来的各种经验教训 : 然后apply到工业界中去,收获了巨大的成功,使得很多项目可以被完成 : 而不是经常性失败,也不是什么很神奇的东西,说的基本上都是人的弱点 : 人这种低级生物,总是喜欢重复犯同一种错误 : 而且还总有人觉得自己牛逼,不会重蹈覆辙 : 就像共产主义一样,所有人都无私,那社会就美好极了 : 问题是总有混蛋不那么无私,你怎么办? : 一个比较极端的方式就是用暴力强迫所有人都无私
|
c*********e 发帖数: 16335 | 26 指针用完要设为null,防止溢出这些基本的操作,能区分出好的和不好的程序员。但是
,一个项目因为这些而失败,就非常可惜。
所以,为了项目不失败,有了gc,这样不好的程序员也可以成功完成一个项目了。
工业界就喜欢第二种。学术界喜欢第一种。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么意思你看不懂吗? : 基本上整个软件工程整个学科 : 都是基于前期c++的失败总结出来的各种经验教训 : 然后apply到工业界中去,收获了巨大的成功,使得很多项目可以被完成 : 而不是经常性失败,也不是什么很神奇的东西,说的基本上都是人的弱点 : 人这种低级生物,总是喜欢重复犯同一种错误 : 而且还总有人觉得自己牛逼,不会重蹈覆辙 : 就像共产主义一样,所有人都无私,那社会就美好极了 : 问题是总有混蛋不那么无私,你怎么办? : 一个比较极端的方式就是用暴力强迫所有人都无私
|
q*c 发帖数: 9453 | 27 人要大公无私, 不能滥用权力, 这些基本的做人准则, 能区分出好人和不好的人。
但是, 一个国家或者民族因为这些失败或者遭受巨大灾难,就非常可惜。
所以, 为了人类不灭亡, 有了权力制衡和不同程度的民主, 这样哪怕是由“不好”
的人组成的国家, 也能勉强生存下去, 有时甚至能繁荣强大。 结果事实证明绝大多数
人是“不好” 的人, 只有极少数人才能称为“好人”, 所以绝大多数都喜欢第二种
有制衡的, 民主制度, 什么人喜欢没制衡的, 独裁体制, 不说大家也知道, 呵呵
。(话说这种人真的是好人? )
【在 c*********e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 指针用完要设为null,防止溢出这些基本的操作,能区分出好的和不好的程序员。但是 : ,一个项目因为这些而失败,就非常可惜。 : 所以,为了项目不失败,有了gc,这样不好的程序员也可以成功完成一个项目了。 : 工业界就喜欢第二种。学术界喜欢第一种。
|
a****i 发帖数: 1182 | 28 那本书叫 The Mythical Man-Month,中文翻译叫“人月神话”
没有银弹是其中一章
【在 n******n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么银弹书?
|
h*i 发帖数: 3446 | 29 A good example of why pursuing higher level abstraction is just better
engineering.
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 问了下同学 : 他们的数据库出了问题 : c++就是容易出这种问题 : 一时半会也不知道怎么办 : 因为code太多太大,反正一堆人干瞪眼 : 前一段node也出了问题 : 导致新版的页面无法交易 : 简单滴说,阿里老老实实用java的时候 : 是他们系统最稳定的时候 : 但凡是用其他语言装逼,基本上都会出问题
|
h*i 发帖数: 3446 | 30 Cannot agree more.
Human mind is not build to do low level computations.
The power of human mind lies in its ability to do abstraction.
Going backwards, trying to serve machines, can only backfire.
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么意思你看不懂吗? : 基本上整个软件工程整个学科 : 都是基于前期c++的失败总结出来的各种经验教训 : 然后apply到工业界中去,收获了巨大的成功,使得很多项目可以被完成 : 而不是经常性失败,也不是什么很神奇的东西,说的基本上都是人的弱点 : 人这种低级生物,总是喜欢重复犯同一种错误 : 而且还总有人觉得自己牛逼,不会重蹈覆辙 : 就像共产主义一样,所有人都无私,那社会就美好极了 : 问题是总有混蛋不那么无私,你怎么办? : 一个比较极端的方式就是用暴力强迫所有人都无私
|
|
|
M*****n 发帖数: 2301 | 31 C++是有C++的问题,但是阿里系统崩溃可能的原因太多了,
细节没高清之前,你就直接把往语言上靠,纯属夹带私货。
C++当然有成功的project,Java本身不就是其中之一么
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么意思你看不懂吗? : 基本上整个软件工程整个学科 : 都是基于前期c++的失败总结出来的各种经验教训 : 然后apply到工业界中去,收获了巨大的成功,使得很多项目可以被完成 : 而不是经常性失败,也不是什么很神奇的东西,说的基本上都是人的弱点 : 人这种低级生物,总是喜欢重复犯同一种错误 : 而且还总有人觉得自己牛逼,不会重蹈覆辙 : 就像共产主义一样,所有人都无私,那社会就美好极了 : 问题是总有混蛋不那么无私,你怎么办? : 一个比较极端的方式就是用暴力强迫所有人都无私
|
p*****2 发帖数: 21240 | 32 yuwen他们也准备这么搞吧?
都是大公司出来的喜欢造轮子的造孽
【在 g*********e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 俺们组现在正在用cxx从头做起搞db 也不知能不能成
|
h*******u 发帖数: 15326 | 33 疑似假消息
阿里内部人汇报说不知道
【在 l***i 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 现在正在紧急招聘,据说是ocean base出问题了,没有备灾方案。
|
d****r 发帖数: 300 | 34 我也问了,貌似谣言。
【在 h*******u 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 疑似假消息 : 阿里内部人汇报说不知道
|
s******y 发帖数: 416 | 35 这不正好说明相对于Java,c++优势明显?
稳定的系统为啥要换掉?如果不是迫不得已,谁会把已经验证成功的系统换掉重写呢?
一定是过去系统已经有深深的无力感,才使用一种能力更强的方法。做企业可不能行为
艺术,时不时装个B啥的。用好虫的口头禅,“得为项目成败负责”。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 问了下同学 : 他们的数据库出了问题 : c++就是容易出这种问题 : 一时半会也不知道怎么办 : 因为code太多太大,反正一堆人干瞪眼 : 前一段node也出了问题 : 导致新版的页面无法交易 : 简单滴说,阿里老老实实用java的时候 : 是他们系统最稳定的时候 : 但凡是用其他语言装逼,基本上都会出问题
|
z****e 发帖数: 54598 | 36 因为一开始就很难成功
其次,就算侥幸进入那少数成功的一部分里面
那之后维护才是痛苦的开始,而绝大多数项目失败并不是因为一开始功能点没有实现
而是之后维护出了大问题,没有多少人愿意去看别人写的c++代码
c++要是真成功,就没有java,go这些语言了
甚至还有swift,就是因为不成功,所以才会有这些语言的流行
当然如果非要把少数幸存下来的项目定义成成功的话
那delphi也很成功,vb也不能说不成功
【在 s******y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这不正好说明相对于Java,c++优势明显? : 稳定的系统为啥要换掉?如果不是迫不得已,谁会把已经验证成功的系统换掉重写呢? : 一定是过去系统已经有深深的无力感,才使用一种能力更强的方法。做企业可不能行为 : 艺术,时不时装个B啥的。用好虫的口头禅,“得为项目成败负责”。
|
w***g 发帖数: 5958 | 37 做新系统又好玩,又容易,又有visibility。如果是自己的公司的话,
自然会为成败负责。如果不是自己的公司,自然是怎么好玩,怎么钱多怎么来。
management不懂技术,并且老是幻想silver bullet,这就给倒腾技术的创造了机会。
水平低点的,就倒腾个git,mongo啥的; 稍微好点的,Hbase C*来回倒腾,Spark
啥的; 自己会写点程序的,就会想着要reinvent一个啥轮子。Unix系的key-value
store,据我所知第一个是Ken Thompson 1979年写的dbm。到90年代的BerkeleyDB,
虽然还和dbm兼容,但是各种索引,事务处理都已经基本上完善了。再往后,我觉得
单机的key-value store就没有创新和本质的提高了。要有人觉得leveldb有啥牛B
的地方,希望能给我科普一下。Level DB的读写吞吐量确实比BerkeleyDB要高不少,
但我觉得原因并不是Jeff Dean写代码牛B,而是不需要支持transaction,自然
能做得快。再往后,连redis这种std::map外面包一层RPC这种东西
都出来混了,让我觉得现在造轮子基本上已是门槛无下限了。成王败寇,没啥
可耻的。
我觉得goodbug过分强调系统健壮性的重要程度。人家股市停一天都没事,你西海岸
地震了,netflix停上一两天,我觉得没啥说不过去的。人家汽车卖出去这么多辆
还可以recall呢。有你goodbug可以fail over,自然好。要没有goodbug没法
fail over,该赚钱基本上还是照赚。就是哪天netflix突然没了,日子也是照过。
之所以老拿这事出来说,无非也就是说这东西技术上牛B而已。人外有人天外有天,
或者反过来说,在这版上混的,就是自认为水平再低的,也比国内那批中学
都没上完的程序员,或者不懂技术的management强(可以忽悠他们)。
如果各人按自己技术水平normalize,大家都是在做软件,都是拿自己觉得牛B
的东西出来得瑟一下,项目做多了都有或者都会有失手的时候。在BBS上得瑟吵架,
一方面要看透点,就不会太当真了; 另一方面又不要看得太透,这样能享受其中
的乐趣。
【在 s******y 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这不正好说明相对于Java,c++优势明显? : 稳定的系统为啥要换掉?如果不是迫不得已,谁会把已经验证成功的系统换掉重写呢? : 一定是过去系统已经有深深的无力感,才使用一种能力更强的方法。做企业可不能行为 : 艺术,时不时装个B啥的。用好虫的口头禅,“得为项目成败负责”。
|
p*u 发帖数: 2454 | 38 check out Yahoo's MDBM.
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 做新系统又好玩,又容易,又有visibility。如果是自己的公司的话, : 自然会为成败负责。如果不是自己的公司,自然是怎么好玩,怎么钱多怎么来。 : management不懂技术,并且老是幻想silver bullet,这就给倒腾技术的创造了机会。 : 水平低点的,就倒腾个git,mongo啥的; 稍微好点的,Hbase C*来回倒腾,Spark : 啥的; 自己会写点程序的,就会想着要reinvent一个啥轮子。Unix系的key-value : store,据我所知第一个是Ken Thompson 1979年写的dbm。到90年代的BerkeleyDB, : 虽然还和dbm兼容,但是各种索引,事务处理都已经基本上完善了。再往后,我觉得 : 单机的key-value store就没有创新和本质的提高了。要有人觉得leveldb有啥牛B : 的地方,希望能给我科普一下。Level DB的读写吞吐量确实比BerkeleyDB要高不少, : 但我觉得原因并不是Jeff Dean写代码牛B,而是不需要支持transaction,自然
|
z****e 发帖数: 54598 | 39 区别在于,股市停盘一两天,程序员没鸟事,因为这个不是程序员能够解决的问题
但是netflix停摆一天,古德霸估计就会被卷铺盖滚蛋
从消费者角度出发,无所谓,但是从资本家角度出发
一个无法创造价值的程序员,就是一个废物,走人无商量
所以古德霸强调健壮,是为了他自己的job security考虑,不是为了什么消费者
是资本家强行把它的收益捆绑到消费者的利益上去,这个不是行业本质决定的
而是资本家的黑心决定的,如果没有这点觉悟,那会混得很悲剧的
很多人强调用java,不是因为java多容易装逼,而恰恰是因为java的代码很容易看懂
比较容易维护,换句话说,擦起屁股来比较简单,因为没有人愿意给别人擦屁股
而多数时候又不得不干,所以不得不干的时候,就会找屎少的地方
而屎多的地方,都避之不及
写代码就像拉屎,虽然很臭,但是你释放了之后,会觉得轻松
看代码就像看别人拉屎,什么时候都想夺门而出,站在那边只有无尽的痛苦和反胃
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 做新系统又好玩,又容易,又有visibility。如果是自己的公司的话, : 自然会为成败负责。如果不是自己的公司,自然是怎么好玩,怎么钱多怎么来。 : management不懂技术,并且老是幻想silver bullet,这就给倒腾技术的创造了机会。 : 水平低点的,就倒腾个git,mongo啥的; 稍微好点的,Hbase C*来回倒腾,Spark : 啥的; 自己会写点程序的,就会想着要reinvent一个啥轮子。Unix系的key-value : store,据我所知第一个是Ken Thompson 1979年写的dbm。到90年代的BerkeleyDB, : 虽然还和dbm兼容,但是各种索引,事务处理都已经基本上完善了。再往后,我觉得 : 单机的key-value store就没有创新和本质的提高了。要有人觉得leveldb有啥牛B : 的地方,希望能给我科普一下。Level DB的读写吞吐量确实比BerkeleyDB要高不少, : 但我觉得原因并不是Jeff Dean写代码牛B,而是不需要支持transaction,自然
|
M*****n 发帖数: 2301 | 40 Berkeley DB was designed and implemented as a database from day one.
It is highly respectable and one of very few open source projects that can
be categorized as a real database.
另一个是Foundation DB号称真正做到了ACID和TXN,不过我没来得及研究
其他的比如Level DB,市面上几乎所有各类开源DB所谓的performance都
其实都是靠着cutting corners,这种东西严格说起来都不应该
成为database,只是一个distributed datastore而已,就连datastore
这个称号也要打个问号。
open source的东西,其实很多code质量不怎么样,技术含量也很低
没有什么新东西,说白了就是cutting corners,运气好能在market上
找个小的sweet spot,有的连sweet spot都找不到.
借着big data的东风,现在google,一些学术界和open source community
特别能制造hype,把软件开发弄成个类似fashion design的东西,
把open source吹成高大上,弄个distributed datastore,有的连最基本
的ACID都没有,就敢称自己是DB。
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 做新系统又好玩,又容易,又有visibility。如果是自己的公司的话, : 自然会为成败负责。如果不是自己的公司,自然是怎么好玩,怎么钱多怎么来。 : management不懂技术,并且老是幻想silver bullet,这就给倒腾技术的创造了机会。 : 水平低点的,就倒腾个git,mongo啥的; 稍微好点的,Hbase C*来回倒腾,Spark : 啥的; 自己会写点程序的,就会想着要reinvent一个啥轮子。Unix系的key-value : store,据我所知第一个是Ken Thompson 1979年写的dbm。到90年代的BerkeleyDB, : 虽然还和dbm兼容,但是各种索引,事务处理都已经基本上完善了。再往后,我觉得 : 单机的key-value store就没有创新和本质的提高了。要有人觉得leveldb有啥牛B : 的地方,希望能给我科普一下。Level DB的读写吞吐量确实比BerkeleyDB要高不少, : 但我觉得原因并不是Jeff Dean写代码牛B,而是不需要支持transaction,自然
|
|
|
M*****n 发帖数: 2301 | 41 这倒是没错,C++写back end server,大了之后是有问题,
不过这要规模非常大才行,比如websphere那种,就要用Java了
C++在game,OS,VM (including JVM),科学计算
等一些地方还是不可取代的,所以赵将军也不要太偏激了
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 因为一开始就很难成功 : 其次,就算侥幸进入那少数成功的一部分里面 : 那之后维护才是痛苦的开始,而绝大多数项目失败并不是因为一开始功能点没有实现 : 而是之后维护出了大问题,没有多少人愿意去看别人写的c++代码 : c++要是真成功,就没有java,go这些语言了 : 甚至还有swift,就是因为不成功,所以才会有这些语言的流行 : 当然如果非要把少数幸存下来的项目定义成成功的话 : 那delphi也很成功,vb也不能说不成功
|
g*********9 发帖数: 1285 | 42 同意, 试想一下如果是Scala写的。。。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : lol : 交易所在没有计算机的年代就开门了 : 太把自己当回事不好 : 资本家雇程序员,就是找来解决问题的 : 从本质上说,这些东西都不过是一个工具而已 : 工具最大的任务,就是get things done,然后别出问题 : 能实现这个目的的工具,就是好工具 : 不能实现这个目的的工具,就是差工具 : java最大的好处就是比较少出问题,维护起来比较容易 : 比较少出现某个屌人乱写一通,然后别人看不懂的情况
|
N********n 发帖数: 8363 | 43
搞清楚是啥应用再谈健壮不健壮。CONSISTENCY和AVAILABILITY难以在高
频环境下两全。交易所为了确保CONSISTENCY必要时放弃AVAILABILITY,
所以拿互联网那套LOW RACE CONDITION / EVENTUAL CONSISTENCY机制
生搬硬套交易所的架构是不行的。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 区别在于,股市停盘一两天,程序员没鸟事,因为这个不是程序员能够解决的问题 : 但是netflix停摆一天,古德霸估计就会被卷铺盖滚蛋 : 从消费者角度出发,无所谓,但是从资本家角度出发 : 一个无法创造价值的程序员,就是一个废物,走人无商量 : 所以古德霸强调健壮,是为了他自己的job security考虑,不是为了什么消费者 : 是资本家强行把它的收益捆绑到消费者的利益上去,这个不是行业本质决定的 : 而是资本家的黑心决定的,如果没有这点觉悟,那会混得很悲剧的 : 很多人强调用java,不是因为java多容易装逼,而恰恰是因为java的代码很容易看懂 : 比较容易维护,换句话说,擦起屁股来比较简单,因为没有人愿意给别人擦屁股 : 而多数时候又不得不干,所以不得不干的时候,就会找屎少的地方
|
p*u 发帖数: 2454 | 44 LinkedIn is doing DB??
【在 g*********e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 俺们组现在正在用cxx从头做起搞db 也不知能不能成
|
w**z 发帖数: 8232 | 45 谁说db一定要support transaction?
Most NoSQL databases do not provide transaction support by default。 要满足A
和 P, 就必需牺牲C了。你把Nosql 能support 的throughput 放到RDMS上试试?不同
的databases 适用不同的use case, 没有哪一个更高达上。
【在 M*****n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Berkeley DB was designed and implemented as a database from day one. : It is highly respectable and one of very few open source projects that can : be categorized as a real database. : 另一个是Foundation DB号称真正做到了ACID和TXN,不过我没来得及研究 : 其他的比如Level DB,市面上几乎所有各类开源DB所谓的performance都 : 其实都是靠着cutting corners,这种东西严格说起来都不应该 : 成为database,只是一个distributed datastore而已,就连datastore : 这个称号也要打个问号。 : open source的东西,其实很多code质量不怎么样,技术含量也很低 : 没有什么新东西,说白了就是cutting corners,运气好能在market上
|
M*****n 发帖数: 2301 | 46 TXN是DB的最基本属性之一,没有TXN,连最基本的ACID都没有,
除非现在DB的定义也改了, 教科书也要重写。
你说的那个C是 Consistency in CAP是个distributed system的概念,
TXN说的是Consistency in ACID,两者相关但是有很大不同。
throughput又是另外一个范畴了,你的每句话都在说不同的东西,
hope you know what you are talking about.
别误解,我没兴趣说谁高大上,现在说的那些claim自己是ACID DB的open
source project,到底是不是真做到了自己claim的。
足A
【在 w**z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 谁说db一定要support transaction? : Most NoSQL databases do not provide transaction support by default。 要满足A : 和 P, 就必需牺牲C了。你把Nosql 能support 的throughput 放到RDMS上试试?不同 : 的databases 适用不同的use case, 没有哪一个更高达上。
|
w**z 发帖数: 8232 | 47 我已经说了,nosql 大多不support transaction。 你非要说DB 一定support
transaction, 那只说nosq, 不提l database 好了。
为什么nosql 会那么火,因为RDMS 不能support 那么大的throughput, transaction
是其中重要的原因。 这不都是有关联的吗? nosql 和 RDMS 是有不同的use case,
没必要,非说那个好,那个不好。你说的 support ACID 的 open source DB project
是哪个?
【在 M*****n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : TXN是DB的最基本属性之一,没有TXN,连最基本的ACID都没有, : 除非现在DB的定义也改了, 教科书也要重写。 : 你说的那个C是 Consistency in CAP是个distributed system的概念, : TXN说的是Consistency in ACID,两者相关但是有很大不同。 : throughput又是另外一个范畴了,你的每句话都在说不同的东西, : hope you know what you are talking about. : 别误解,我没兴趣说谁高大上,现在说的那些claim自己是ACID DB的open : source project,到底是不是真做到了自己claim的。 : : 足A
|
w***g 发帖数: 5958 | 48 我觉得写key-value store我觉得就两大难题,
第一个是怎么保证ACID还能做的快,第二个是写磁盘上的B+树。
特别是B+树要能写对,需要相当的功底。这两个都绕过去不写,其实就
没啥技术难度了。两个都有的db是否需要重写一个的必要性另说,
但最近10年出来的各种不管是不是SQL的软件,我觉得没一个在
技术难度上能超越BerkeleyDB的。
我自己写东西也挑软柿子捏,目前在做的系统连deletion都不支持。
不过我对牛B的系统还是有应有的尊敬的。
【在 M*****n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : TXN是DB的最基本属性之一,没有TXN,连最基本的ACID都没有, : 除非现在DB的定义也改了, 教科书也要重写。 : 你说的那个C是 Consistency in CAP是个distributed system的概念, : TXN说的是Consistency in ACID,两者相关但是有很大不同。 : throughput又是另外一个范畴了,你的每句话都在说不同的东西, : hope you know what you are talking about. : 别误解,我没兴趣说谁高大上,现在说的那些claim自己是ACID DB的open : source project,到底是不是真做到了自己claim的。 : : 足A
|
w**z 发帖数: 8232 | 49 其他的nosql 我不熟,Cassandra 我还是知道的,它在磁盘上是log structured,
sequential writes。 它也不支持transaction, 所以它把ACID和B+tree 都绕过了,
你是不是觉得Cassandra 也没啥技术难度?当然它是column family, 不是key value
store
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我觉得写key-value store我觉得就两大难题, : 第一个是怎么保证ACID还能做的快,第二个是写磁盘上的B+树。 : 特别是B+树要能写对,需要相当的功底。这两个都绕过去不写,其实就 : 没啥技术难度了。两个都有的db是否需要重写一个的必要性另说, : 但最近10年出来的各种不管是不是SQL的软件,我觉得没一个在 : 技术难度上能超越BerkeleyDB的。 : 我自己写东西也挑软柿子捏,目前在做的系统连deletion都不支持。 : 不过我对牛B的系统还是有应有的尊敬的。
|
w***g 发帖数: 5958 | 50 在我看来cassandra确实没啥技术难度。要么学术上原创,要么技术上牛B,
cassandra就一个轮子,两个都沾不上。但cassandra还不是最差的,好歹是
基于磁盘的,还要维护cache。像redis这种纯内存的才是真的不需要技术。
log structure storage是一项伟大的创举,非常漂亮。我觉得从学术上说
比B+树都要牛。这个idea最开始是
做文件系统的,后来被应用到db上。cassandra只是后人乘凉而已。
http://en.wikipedia.org/wiki/Log-structured_file_system
还有大家都知道的vmware,我觉得也是技术上牛B得不得了。logFS和vmware
后面有个哥们叫Mendel Rosenblum,那才是真正的牛魔王。facebook技术不行
在湾区应该是公认的吧。
update:
刚刚又考了下古,C* 2.0后料还是多了不少,似乎没我说的那么不堪。
【在 w**z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 其他的nosql 我不熟,Cassandra 我还是知道的,它在磁盘上是log structured, : sequential writes。 它也不支持transaction, 所以它把ACID和B+tree 都绕过了, : 你是不是觉得Cassandra 也没啥技术难度?当然它是column family, 不是key value : store
|
|
|
g*****g 发帖数: 34805 | 51 世界没有我照转是对的,但正因为我挣得少,所以才会让我们关注这些东西,因为停摆
一天的损失够我赚一辈子的。
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 做新系统又好玩,又容易,又有visibility。如果是自己的公司的话, : 自然会为成败负责。如果不是自己的公司,自然是怎么好玩,怎么钱多怎么来。 : management不懂技术,并且老是幻想silver bullet,这就给倒腾技术的创造了机会。 : 水平低点的,就倒腾个git,mongo啥的; 稍微好点的,Hbase C*来回倒腾,Spark : 啥的; 自己会写点程序的,就会想着要reinvent一个啥轮子。Unix系的key-value : store,据我所知第一个是Ken Thompson 1979年写的dbm。到90年代的BerkeleyDB, : 虽然还和dbm兼容,但是各种索引,事务处理都已经基本上完善了。再往后,我觉得 : 单机的key-value store就没有创新和本质的提高了。要有人觉得leveldb有啥牛B : 的地方,希望能给我科普一下。Level DB的读写吞吐量确实比BerkeleyDB要高不少, : 但我觉得原因并不是Jeff Dean写代码牛B,而是不需要支持transaction,自然
|
g*****g 发帖数: 34805 | 52 我关心的不是有没有技术难度,而是对我的项目有没有用而已。RDBMS 处理不了每天
Billion级别的写,C*可以,光这点就足够了。
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 在我看来cassandra确实没啥技术难度。要么学术上原创,要么技术上牛B, : cassandra就一个轮子,两个都沾不上。但cassandra还不是最差的,好歹是 : 基于磁盘的,还要维护cache。像redis这种纯内存的才是真的不需要技术。 : log structure storage是一项伟大的创举,非常漂亮。我觉得从学术上说 : 比B+树都要牛。这个idea最开始是 : 做文件系统的,后来被应用到db上。cassandra只是后人乘凉而已。 : http://en.wikipedia.org/wiki/Log-structured_file_system : 还有大家都知道的vmware,我觉得也是技术上牛B得不得了。logFS和vmware : 后面有个哥们叫Mendel Rosenblum,那才是真正的牛魔王。facebook技术不行 : 在湾区应该是公认的吧。
|
L*********s 发帖数: 3063 | 53 希望软件工程学发展20年后:
基本上整个软件工程整个学科
都是基于前期外包印度的失败总结出来的各种经验教训
★ 发自iPhone App: ChineseWeb 7.8
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 什么意思你看不懂吗? : 基本上整个软件工程整个学科 : 都是基于前期c++的失败总结出来的各种经验教训 : 然后apply到工业界中去,收获了巨大的成功,使得很多项目可以被完成 : 而不是经常性失败,也不是什么很神奇的东西,说的基本上都是人的弱点 : 人这种低级生物,总是喜欢重复犯同一种错误 : 而且还总有人觉得自己牛逼,不会重蹈覆辙 : 就像共产主义一样,所有人都无私,那社会就美好极了 : 问题是总有混蛋不那么无私,你怎么办? : 一个比较极端的方式就是用暴力强迫所有人都无私
|
w**z 发帖数: 8232 | 54 估计你一辈子也赚不了那么多。
【在 g*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 世界没有我照转是对的,但正因为我挣得少,所以才会让我们关注这些东西,因为停摆 : 一天的损失够我赚一辈子的。
|
g*****g 发帖数: 34805 | 55 钱会贬值的,等退休了 SS 每年 100万起。
【在 w**z 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 估计你一辈子也赚不了那么多。
|
z****e 发帖数: 54598 | 56 外包?
以后都开源了,全部自动化了
外包了干什么?随着开源的工具越来越傻瓜化之后
哪里需要人去写?工具性的东西只会越来越cheap,越来越自动化+傻瓜化
而非堆人工,以后工具性的软件会全部开源化,然后从业人员全部下岗
包括外包
【在 L*********s 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 希望软件工程学发展20年后: : 基本上整个软件工程整个学科 : 都是基于前期外包印度的失败总结出来的各种经验教训 : : ★ 发自iPhone App: ChineseWeb 7.8
|
z****e 发帖数: 54598 | 57
game现在全面抛离c++了
swift已经有sprite kit了,这个就是典型的游戏framework
非常好用,这个纯粹是一个机能的问题,随着物理学的发展
机能达到了一定程度之后,以前不能做的东西,以后都能做了
gc降低到ms级别之后,游戏除非特别恶心的计算,特别多的粒子效果
texture之类的,还需要通过物理支持以外,一般的根本不需要
而且针对某些特别吃硬件的动作环节,现在是直接上c,然后包装成api丢给其他人去用
apple就是这么做的,其实cocos也是这么搞的
然后os和vm这种都是工具类软件
工具类软件以后都是开源的天下,现在做工具类软件已经很难赚钱了
都不要说vm这种,就是websphere这种都越来越不赚钱
websphere已经算是很high level的工具软件
这种东西要说还会存在,这个是没有错,就像农业,矿业永远都会存在一样
但是说这个东西需要大量人力去投入,每个公司再雇佣码农去开发去维护
这个在以后恐怕是不可能的了,很多人犯的一个错误就是不停滴说存在
但是忽略了这个行业所需要的人力,一个行业存在并不等于这个行业就繁荣
就能养活很多人,就像农业现在也存在,但是农民工开始进城,开始不再从事农业
从事农业的人口逐步降低,而从事工业的人口逐步上升
这个时候再坚持留在土地上,就没有什么意义了
【在 M*****n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这倒是没错,C++写back end server,大了之后是有问题, : 不过这要规模非常大才行,比如websphere那种,就要用Java了 : C++在game,OS,VM (including JVM),科学计算 : 等一些地方还是不可取代的,所以赵将军也不要太偏激了
|
N********n 发帖数: 8363 | 58
谁说的。这年头游戏动辄就要求顶级硬件,背后都是NATIVE程序。用户
体验是个水涨船高的问题。硬件的机能再涨,用户需求也在涨。原来
640x480就算高清,现在要2K, 4K, 8K。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : game现在全面抛离c++了 : swift已经有sprite kit了,这个就是典型的游戏framework : 非常好用,这个纯粹是一个机能的问题,随着物理学的发展 : 机能达到了一定程度之后,以前不能做的东西,以后都能做了 : gc降低到ms级别之后,游戏除非特别恶心的计算,特别多的粒子效果 : texture之类的,还需要通过物理支持以外,一般的根本不需要 : 而且针对某些特别吃硬件的动作环节,现在是直接上c,然后包装成api丢给其他人去用 : apple就是这么做的,其实cocos也是这么搞的 : 然后os和vm这种都是工具类软件
|
z****e 发帖数: 54598 | 59 纯粹就是一个物理实现能不能跟上的问题
如果不能跟上,那没办法了,只好回去搞
但是能跟上,那就不是问题了
顺便,任天堂下一代准备上android了
【在 N********n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 谁说的。这年头游戏动辄就要求顶级硬件,背后都是NATIVE程序。用户 : 体验是个水涨船高的问题。硬件的机能再涨,用户需求也在涨。原来 : 640x480就算高清,现在要2K, 4K, 8K。
|
z****e 发帖数: 54598 | 60 不过最新新闻是任婊又否认了
这种东西真真假假,就看个热闹了
不过我觉得sprite kit 真是不错
idea非常好,如果能有一个android版的sprite kit就好了
sknode真是好用 |
|
|
M*****n 发帖数: 2301 | 61 exactly. 呵呵,除了你说那两个,再加一个HA(replication, recovery, failover),
就差不多了, HA大家都会做,但做得好也不是太容易。
BDB值得尊敬,要知道BDB是90年代就有的,那个时候google都没影子,
何来什么big table,那时候BDB就实现了KV store based on log-structured
file system, 20年之后现在市面上那些系统还是用人家当初那套idea,这就是影响
力。
BDB也出来不少牛人,Twitter的某牛,Cloudera的Mike Olson,
还有MongoDB(aka: 蒙古DB)这么多年搞不定storage, 最后买了
一个storage engine,也是BDB的人做的。
外行看hype,看名声,看圈钱。 真正好的系统未必有这么多hype和名气,但是
影响力深远,值得尊敬。
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我觉得写key-value store我觉得就两大难题, : 第一个是怎么保证ACID还能做的快,第二个是写磁盘上的B+树。 : 特别是B+树要能写对,需要相当的功底。这两个都绕过去不写,其实就 : 没啥技术难度了。两个都有的db是否需要重写一个的必要性另说, : 但最近10年出来的各种不管是不是SQL的软件,我觉得没一个在 : 技术难度上能超越BerkeleyDB的。 : 我自己写东西也挑软柿子捏,目前在做的系统连deletion都不支持。 : 不过我对牛B的系统还是有应有的尊敬的。
|
j******f 发帖数: 825 | 62 Facebook 这种规模还没技术?能用简单技术造轮子比用复杂技术造同样轮子的人不知
道要高明多少倍。
【在 w***g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 在我看来cassandra确实没啥技术难度。要么学术上原创,要么技术上牛B, : cassandra就一个轮子,两个都沾不上。但cassandra还不是最差的,好歹是 : 基于磁盘的,还要维护cache。像redis这种纯内存的才是真的不需要技术。 : log structure storage是一项伟大的创举,非常漂亮。我觉得从学术上说 : 比B+树都要牛。这个idea最开始是 : 做文件系统的,后来被应用到db上。cassandra只是后人乘凉而已。 : http://en.wikipedia.org/wiki/Log-structured_file_system : 还有大家都知道的vmware,我觉得也是技术上牛B得不得了。logFS和vmware : 后面有个哥们叫Mendel Rosenblum,那才是真正的牛魔王。facebook技术不行 : 在湾区应该是公认的吧。
|
g*****g 发帖数: 34805 | 63 我觉得一个互联网公司做大,技术不是最重要的,但是规模做到世界顶级,技术都很难
。做
轮子很难,能整合别人的轮子做到顶级规模,一样很难。总之只要前人没有做到的,都
很难。
【在 j******f 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Facebook 这种规模还没技术?能用简单技术造轮子比用复杂技术造同样轮子的人不知 : 道要高明多少倍。
|
S***w 发帖数: 1014 | 64 学习了
【在 g*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : high availability是个很复杂的问题,现在有云相对容易做一些。总体来说要做到 : active/active regional failover,一个城市挂了,可以切换到其他城市去。AWS做 : zone failover很容易,regional failover基本得自己做。 : 另外Chaos Monkey的实践是必须的,只有经常在产品环境里做可控的模拟灾难,才能知 : 道系统到底哪里薄弱。
|
c**********n 发帖数: 1 | |