c*********e 发帖数: 16335 | 1 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比
hibernate好。如果要用stored procedure的话,jdbc比hibernate好。
看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最
好的选择。 |
z*******3 发帖数: 13709 | 2 因为你用了store procedure本身就是强依赖某一个特定的db了
这个时候hibernate的优势被抵消了
然后就是处理大数据可能需要特定的sql优化
这个时候hibernate就显得有些力不从心
但是这是一个balance,一般我们建议把一些特别复杂的功能提取出db
在service layer完成,但是挡不住还是有很多人喜欢在db上跑逻辑
big table,gfs什么其实是这种架构的一种延伸
弱化db的功能,强化service/business layer的功能
nosql其实就干掉了acid,也就是store procedure
我也主张多用nosql,这样可以减轻对db的依赖
oracle的license很贵 |
z*******3 发帖数: 13709 | 3 不用写sql对于我们这种开发人员来说是好事
可以关注在最核心的逻辑上
写business layer从来都是享受
写javascript和sql都是很痛苦的一个过程 |
p*****2 发帖数: 21240 | 4
这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。
【在 z*******3 的大作中提到】 : 不用写sql对于我们这种开发人员来说是好事 : 可以关注在最核心的逻辑上 : 写business layer从来都是享受 : 写javascript和sql都是很痛苦的一个过程
|
t*******e 发帖数: 684 | 5 把书名列一下吧,是哪个diao人误导大众啊?
【在 c*********e 的大作中提到】 : 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比 : hibernate好。如果要用stored procedure的话,jdbc比hibernate好。 : 看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最 : 好的选择。
|
d****i 发帖数: 4809 | 6 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
【在 z*******3 的大作中提到】 : 因为你用了store procedure本身就是强依赖某一个特定的db了 : 这个时候hibernate的优势被抵消了 : 然后就是处理大数据可能需要特定的sql优化 : 这个时候hibernate就显得有些力不从心 : 但是这是一个balance,一般我们建议把一些特别复杂的功能提取出db : 在service layer完成,但是挡不住还是有很多人喜欢在db上跑逻辑 : big table,gfs什么其实是这种架构的一种延伸 : 弱化db的功能,强化service/business layer的功能 : nosql其实就干掉了acid,也就是store procedure : 我也主张多用nosql,这样可以减轻对db的依赖
|
z*******3 发帖数: 13709 | 7 我觉得说替代有些早了
旧系统也不是说扔掉就扔掉的
很大可能是共存相当长一段时间
再好的东西,从出现到流行,再到用这个东西来写新系统
都有很长一段的适应期
【在 d****i 的大作中提到】 : 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
|
t***a 发帖数: 416 | 8 5000行不算大规模数据。。。。
就算再多1000倍吧,也不算大规模,hibernate也没有问题
然后再多1000倍吧,这就需要谨慎设计了,因为hibernate会产生不少join操作,不过
这些都是可以控制的
如果数据库已存在大量sp和手写sql的话,推荐用ibatis
【在 c*********e 的大作中提到】 : 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比 : hibernate好。如果要用stored procedure的话,jdbc比hibernate好。 : 看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最 : 好的选择。
|
t*******e 发帖数: 684 | 9 precisely
【在 t***a 的大作中提到】 : 5000行不算大规模数据。。。。 : 就算再多1000倍吧,也不算大规模,hibernate也没有问题 : 然后再多1000倍吧,这就需要谨慎设计了,因为hibernate会产生不少join操作,不过 : 这些都是可以控制的 : 如果数据库已存在大量sp和手写sql的话,推荐用ibatis
|
c*********e 发帖数: 16335 | 10 sql很简单的,不过stored procedure比较麻烦,union,join之类比较麻烦。
【在 p*****2 的大作中提到】 : : 这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。
|
|
|
r******n 发帖数: 4522 | |
w**z 发帖数: 8232 | 12 他们是解决不同的问题,看看dynamo paper 和google big table paper , try to
understand what problem nosql wants to solve.
【在 d****i 的大作中提到】 : 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
|
w**z 发帖数: 8232 | 13 还是学学吧,orm doesn't solve all your problems .
【在 p*****2 的大作中提到】 : : 这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。
|
t***a 发帖数: 416 | 14 是啊,sql以及关系型数据库的基本知识,对back-end程序员还是很重要的
以前也是面试的常见问题
【在 w**z 的大作中提到】 : 还是学学吧,orm doesn't solve all your problems .
|
N*****m 发帖数: 42603 | 15 宁可用mybatis也不用hibernate
【在 c*********e 的大作中提到】 : 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比 : hibernate好。如果要用stored procedure的话,jdbc比hibernate好。 : 看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最 : 好的选择。
|
r*****s 发帖数: 985 | 16 这么绝对的话说出来
麻烦您解释一下,
我很疑惑。
【在 N*****m 的大作中提到】 : 宁可用mybatis也不用hibernate
|
N*****m 发帖数: 42603 | 17 效率
开发效率和运行效率都不如
【在 r*****s 的大作中提到】 : 这么绝对的话说出来 : 麻烦您解释一下, : 我很疑惑。
|
r*****s 发帖数: 985 | 18 举个例子,
不然跟没说一样
【在 N*****m 的大作中提到】 : 效率 : 开发效率和运行效率都不如
|
N*****m 发帖数: 42603 | |
t***a 发帖数: 416 | 20 我还以为是啥,就是当年的ibatis嘛。。。。。。
这东西我用的比hibernate多。。。。。。hibernate有他自己的问题,但ibatis的开发
效率真高不到哪去。我们当年那个傻叉架构师对性能极度迷恋,又控制欲极强。ibatis
performance上的优势是建立在开发人员对sql的使用上的。。ibatis当年mapping是靠
反射的,效率也不高,经常自己写adapter,很烦
【在 N*****m 的大作中提到】 : http://programmers.stackexchange.com/questions/158109/what-are-
|
|
|
c*****y 发帖数: 562 | 21 在有些领域是可以取代的,那些对transaction要求不高的系统,比如新闻网站的CMS
有些领域NOSQL是取代不了传统关系型数据库的。
【在 d****i 的大作中提到】 : 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
|
r*****s 发帖数: 985 | 22 i'm not convinced either.
it's a little bit apple-vs-orange comparision.
even the perf boost can be case by case,
under the conditions that you have good sql/db engineers.
if you start to worry about "orm impedance mismatch",
your app is fairly complicated,
and you need a very good sql/db engineer anyway,
with or without hibernate/*batis.
ibatis
【在 t***a 的大作中提到】 : 我还以为是啥,就是当年的ibatis嘛。。。。。。 : 这东西我用的比hibernate多。。。。。。hibernate有他自己的问题,但ibatis的开发 : 效率真高不到哪去。我们当年那个傻叉架构师对性能极度迷恋,又控制欲极强。ibatis : performance上的优势是建立在开发人员对sql的使用上的。。ibatis当年mapping是靠 : 反射的,效率也不高,经常自己写adapter,很烦
|
g*****g 发帖数: 34805 | 23 NoSQL means Not Only SQL, it works well in system that you need high
availability but not 100% reliability. |
c*********e 发帖数: 16335 | 24 你是说nosql的数据不是100% reliable的?
【在 g*****g 的大作中提到】 : NoSQL means Not Only SQL, it works well in system that you need high : availability but not 100% reliability.
|
z*******3 发帖数: 13709 | 25 没有transaction
db在不同物理机器上的transaction也是不reliable的
其实就是在本机上也理论上是不reliable的
没有绝对reliable的东东,理论上
【在 c*********e 的大作中提到】 : 你是说nosql的数据不是100% reliable的?
|
t*******e 发帖数: 684 | 26 goodbug给抓小辫子了。NoSQL那么多类型,各自侧重都不一样,适用情况也不同。有些
的确不是完全reliable的。也有些是完全transactional的。
【在 c*********e 的大作中提到】 : 你是说nosql的数据不是100% reliable的?
|
g*****g 发帖数: 34805 | 27 看具体实现了,CAP Theorem,说的就是Consistency跟Availability不可得兼。
既然对Availability要求高,Consistency就只能有所取舍了。NoSQL DB一般都达不到
ACID。
【在 c*********e 的大作中提到】 : 你是说nosql的数据不是100% reliable的?
|
g*****g 发帖数: 34805 | 28 Availability跟Consistency不可得兼。可以保证transaction,availability就必然受
影响。Google那个Spanner很牛,但仍然提到某些情况下会不available。
【在 t*******e 的大作中提到】 : goodbug给抓小辫子了。NoSQL那么多类型,各自侧重都不一样,适用情况也不同。有些 : 的确不是完全reliable的。也有些是完全transactional的。
|
t*******e 发帖数: 684 | 29 BigData达不到ACID。NoSQL有不少就不属于BigData范畴,ACID实现也没问题。
【在 g*****g 的大作中提到】 : 看具体实现了,CAP Theorem,说的就是Consistency跟Availability不可得兼。 : 既然对Availability要求高,Consistency就只能有所取舍了。NoSQL DB一般都达不到 : ACID。
|
w**z 发帖数: 8232 | 30 it is called evantual consistency, and consistency level is tunable also.
it is all about tradeoff, according to CAP。 多数nosql 降低consistency for
availability.
【在 c*********e 的大作中提到】 : 你是说nosql的数据不是100% reliable的?
|
|
|
z*******3 发帖数: 13709 | 31 如果不是big table的话
db应该是有一定优势
【在 t*******e 的大作中提到】 : BigData达不到ACID。NoSQL有不少就不属于BigData范畴,ACID实现也没问题。
|
N*****m 发帖数: 42603 | 32 那是以前,现在有mybatis-guice和annotation,开发方便多了
如果有比较复杂的query,performance也好很多
ibatis
【在 t***a 的大作中提到】 : 我还以为是啥,就是当年的ibatis嘛。。。。。。 : 这东西我用的比hibernate多。。。。。。hibernate有他自己的问题,但ibatis的开发 : 效率真高不到哪去。我们当年那个傻叉架构师对性能极度迷恋,又控制欲极强。ibatis : performance上的优势是建立在开发人员对sql的使用上的。。ibatis当年mapping是靠 : 反射的,效率也不高,经常自己写adapter,很烦
|
t***a 发帖数: 416 | 33 各有优劣吧。。。我也看了一下文档,不至于甩hibernate几条街去
hibernate这些年也不是不干事儿的。。。
【在 N*****m 的大作中提到】 : 那是以前,现在有mybatis-guice和annotation,开发方便多了 : 如果有比较复杂的query,performance也好很多 : : ibatis
|
w********l 发帖数: 14 | 34 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是
Relational? |
c*********e 发帖数: 16335 | 35 当然是oracle.有见到银行用nosql的吗?
【在 w********l 的大作中提到】 : 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是 : Relational?
|
t***a 发帖数: 416 | 36 人家不是问基因组么。。。。。不是银行
【在 c*********e 的大作中提到】 : 当然是oracle.有见到银行用nosql的吗?
|
g*****g 发帖数: 34805 | 37 你不说清楚有多大的数据量,多高的并发,read/write intensive, 对transaction和
availability的要求等等,没人能给合适的建议。如果你不知道该用什么,基本上用
RDBMS就对了。
【在 w********l 的大作中提到】 : 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是 : Relational?
|
w********l 发帖数: 14 | 38 学习了,再回去问问这些要求。
【在 g*****g 的大作中提到】 : 你不说清楚有多大的数据量,多高的并发,read/write intensive, 对transaction和 : availability的要求等等,没人能给合适的建议。如果你不知道该用什么,基本上用 : RDBMS就对了。
|
z*******3 发帖数: 13709 | 39 big table就是针对海量数据用的
看你们对精度要求如何
不过从我对生物学有限的了解看
貌似精度要求不是很高
也就是一万两万里面错那么一两个无所谓
当年学统计时候遇到过一两个这种问题
所以如果这样的话,用nosql是一个比较好的选择
【在 w********l 的大作中提到】 : 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是 : Relational?
|
w********l 发帖数: 14 | 40 噢,是不是说nosql相对与Relational的话,精度要略差点?谢谢了。
【在 z*******3 的大作中提到】 : big table就是针对海量数据用的 : 看你们对精度要求如何 : 不过从我对生物学有限的了解看 : 貌似精度要求不是很高 : 也就是一万两万里面错那么一两个无所谓 : 当年学统计时候遇到过一两个这种问题 : 所以如果这样的话,用nosql是一个比较好的选择
|
|
|
z*******3 发帖数: 13709 | 41 理论上是
但是实际上科研的东西,很多时候精度跟工业界不能比
因为试验是可以重复做的
但是工业界里面很多transaction是不允许随便失败的
举个例子,信用卡的划账,这个一旦失败就必须回滚
否则后果会很痛苦,因为修改数据牵扯面太广
会涉及到其他模块的不可预知的影响
实际上生产中很多问题都来自业务部门乱改数据
但是做试验不会有这种问题,如果对结果不相信的话
再跑一遍就是了,连续错两遍的几率很小
而且科研一般是内部系统,受到外界不可控的影响比较小
一般也不会错,工业界常见的错误大部分来自互联网
【在 w********l 的大作中提到】 : 噢,是不是说nosql相对与Relational的话,精度要略差点?谢谢了。
|
b***i 发帖数: 3043 | 42 小学就学习了关系型数据库dBase。但是,现在还是不清楚什么是关系型数据库。
比如,GAE的datastore比关系型的,哪些任务做不了?我现在都是数据库只管存数据,
所有逻辑操作全放外面web servlet里,甚至放在html的javascript里面。
【在 c*****y 的大作中提到】 : 在有些领域是可以取代的,那些对transaction要求不高的系统,比如新闻网站的CMS : 有些领域NOSQL是取代不了传统关系型数据库的。
|
z*******o 发帖数: 4773 | |
c*********e 发帖数: 16335 | 44 你如果做过1nf,2nf,3nf来亲手建立一個relational database,就知道它是最简单的,
最高效的办法。
【在 b***i 的大作中提到】 : 小学就学习了关系型数据库dBase。但是,现在还是不清楚什么是关系型数据库。 : 比如,GAE的datastore比关系型的,哪些任务做不了?我现在都是数据库只管存数据, : 所有逻辑操作全放外面web servlet里,甚至放在html的javascript里面。
|