Redian新闻
>
hibernate和jdbc的比较。
avatar
hibernate和jdbc的比较。# Java - 爪哇娇娃
m*t
1
【 以下文字转载自 WebRadio 讨论区 】
发信人: mitpodcast (podcast), 信区: WebRadio
标 题: 【未名电台子夜惊心】蓝火 有声剧海选及工作人员招募
发信站: BBS 未名空间站 (Fri May 2 15:00:29 2014, 美东)
WebRadio版第一部有声书《一个人的假期》海选已经结束,成功海选到全部演员及制作
人员,目前已经开始紧张的录制阶段。现在开始制作第二部有声书《蓝火》。
全剧剧本请看WebRadio版精华区
http://www.mitbbs.com/bbsdoc3/entertainment.faq/WebRadio/D13961
从即日起到五月11日,全站海选征集旁白及演员。有兴趣的id请试读一段并录音,可以
直接在WebRadio版面发贴贴出,也可以发到以下email:
p************[email protected],由mitpodcast负责匿名贴出。
录音的方式可以用手机voice memo直接录音,也可以用window media recorder录音。
录音的长度尽量保证两分钟以上。音频文件可以发到p************[email protected],我们
会帮你转换到youtube贴出。
每个参加海选的录音文件,不管是否最后录用,均获100wb奖励。如最后经录用,每集
每位演员100wb,如上首页追加100wb。工资(伪币)丰厚,欢迎大家积极参与!
另外同时征集有声书制作的导演,后期合成工作人员,工作方式请见下贴:
http://www.mitbbs.com/article_t/WebRadio/31226773.html
经录用后每集制作工资伪币100,上首页追加100wb奖励。
WebRadio版近期还将推出其他各种有声节目制作,欢迎关注!
谢谢大家~
avatar
c*e
2
刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比
hibernate好。如果要用stored procedure的话,jdbc比hibernate好。
看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最
好的选择。
avatar
z*3
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的依赖
oracle的license很贵
avatar
z*3
4
不用写sql对于我们这种开发人员来说是好事
可以关注在最核心的逻辑上
写business layer从来都是享受
写javascript和sql都是很痛苦的一个过程
avatar
p*2
5

这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。

【在 z*******3 的大作中提到】
: 不用写sql对于我们这种开发人员来说是好事
: 可以关注在最核心的逻辑上
: 写business layer从来都是享受
: 写javascript和sql都是很痛苦的一个过程

avatar
t*e
6
把书名列一下吧,是哪个diao人误导大众啊?

【在 c*********e 的大作中提到】
: 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比
: hibernate好。如果要用stored procedure的话,jdbc比hibernate好。
: 看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最
: 好的选择。

avatar
d*i
7
按照这种趋势,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的依赖

avatar
z*3
8
我觉得说替代有些早了
旧系统也不是说扔掉就扔掉的
很大可能是共存相当长一段时间
再好的东西,从出现到流行,再到用这个东西来写新系统
都有很长一段的适应期

【在 d****i 的大作中提到】
: 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
avatar
t*a
9
5000行不算大规模数据。。。。
就算再多1000倍吧,也不算大规模,hibernate也没有问题
然后再多1000倍吧,这就需要谨慎设计了,因为hibernate会产生不少join操作,不过
这些都是可以控制的
如果数据库已存在大量sp和手写sql的话,推荐用ibatis

【在 c*********e 的大作中提到】
: 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比
: hibernate好。如果要用stored procedure的话,jdbc比hibernate好。
: 看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最
: 好的选择。

avatar
t*e
10
precisely

【在 t***a 的大作中提到】
: 5000行不算大规模数据。。。。
: 就算再多1000倍吧,也不算大规模,hibernate也没有问题
: 然后再多1000倍吧,这就需要谨慎设计了,因为hibernate会产生不少join操作,不过
: 这些都是可以控制的
: 如果数据库已存在大量sp和手写sql的话,推荐用ibatis

avatar
c*e
11
sql很简单的,不过stored procedure比较麻烦,union,join之类比较麻烦。

【在 p*****2 的大作中提到】
:
: 这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。

avatar
r*n
12
DB Server贵且不易扩展。
avatar
w*z
13
他们是解决不同的问题,看看dynamo paper 和google big table paper , try to
understand what problem nosql wants to solve.

【在 d****i 的大作中提到】
: 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
avatar
w*z
14
还是学学吧,orm doesn't solve all your problems .

【在 p*****2 的大作中提到】
:
: 这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。

avatar
t*a
15
是啊,sql以及关系型数据库的基本知识,对back-end程序员还是很重要的
以前也是面试的常见问题

【在 w**z 的大作中提到】
: 还是学学吧,orm doesn't solve all your problems .
avatar
N*m
16
宁可用mybatis也不用hibernate

【在 c*********e 的大作中提到】
: 刚看了本书,上面写,如果用于大规模数据,record大于5000行的话,jdbc比
: hibernate好。如果要用stored procedure的话,jdbc比hibernate好。
: 看来在处理大批量数据方面,比如data warehouse级别的数据,用jdbc是最原始也是最
: 好的选择。

avatar
r*s
17
这么绝对的话说出来
麻烦您解释一下,
我很疑惑。

【在 N*****m 的大作中提到】
: 宁可用mybatis也不用hibernate
avatar
N*m
18
效率
开发效率和运行效率都不如

【在 r*****s 的大作中提到】
: 这么绝对的话说出来
: 麻烦您解释一下,
: 我很疑惑。

avatar
r*s
19
举个例子,
不然跟没说一样

【在 N*****m 的大作中提到】
: 效率
: 开发效率和运行效率都不如

avatar
t*a
21
我还以为是啥,就是当年的ibatis嘛。。。。。。
这东西我用的比hibernate多。。。。。。hibernate有他自己的问题,但ibatis的开发
效率真高不到哪去。我们当年那个傻叉架构师对性能极度迷恋,又控制欲极强。ibatis
performance上的优势是建立在开发人员对sql的使用上的。。ibatis当年mapping是靠
反射的,效率也不高,经常自己写adapter,很烦

【在 N*****m 的大作中提到】
: http://programmers.stackexchange.com/questions/158109/what-are-
avatar
c*y
22
在有些领域是可以取代的,那些对transaction要求不高的系统,比如新闻网站的CMS
有些领域NOSQL是取代不了传统关系型数据库的。

【在 d****i 的大作中提到】
: 按照这种趋势,NoSQL有没有可能取代传统的SQL关系数据库?
avatar
r*s
23
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,很烦

avatar
g*g
24
NoSQL means Not Only SQL, it works well in system that you need high
availability but not 100% reliability.
avatar
c*e
25
你是说nosql的数据不是100% reliable的?

【在 g*****g 的大作中提到】
: NoSQL means Not Only SQL, it works well in system that you need high
: availability but not 100% reliability.

avatar
z*3
26
没有transaction
db在不同物理机器上的transaction也是不reliable的
其实就是在本机上也理论上是不reliable的
没有绝对reliable的东东,理论上

【在 c*********e 的大作中提到】
: 你是说nosql的数据不是100% reliable的?
avatar
t*e
27
goodbug给抓小辫子了。NoSQL那么多类型,各自侧重都不一样,适用情况也不同。有些
的确不是完全reliable的。也有些是完全transactional的。

【在 c*********e 的大作中提到】
: 你是说nosql的数据不是100% reliable的?
avatar
g*g
28
看具体实现了,CAP Theorem,说的就是Consistency跟Availability不可得兼。
既然对Availability要求高,Consistency就只能有所取舍了。NoSQL DB一般都达不到
ACID。

【在 c*********e 的大作中提到】
: 你是说nosql的数据不是100% reliable的?
avatar
g*g
29
Availability跟Consistency不可得兼。可以保证transaction,availability就必然受
影响。Google那个Spanner很牛,但仍然提到某些情况下会不available。

【在 t*******e 的大作中提到】
: goodbug给抓小辫子了。NoSQL那么多类型,各自侧重都不一样,适用情况也不同。有些
: 的确不是完全reliable的。也有些是完全transactional的。

avatar
t*e
30
BigData达不到ACID。NoSQL有不少就不属于BigData范畴,ACID实现也没问题。

【在 g*****g 的大作中提到】
: 看具体实现了,CAP Theorem,说的就是Consistency跟Availability不可得兼。
: 既然对Availability要求高,Consistency就只能有所取舍了。NoSQL DB一般都达不到
: ACID。

avatar
w*z
31
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的?
avatar
z*3
32
如果不是big table的话
db应该是有一定优势

【在 t*******e 的大作中提到】
: BigData达不到ACID。NoSQL有不少就不属于BigData范畴,ACID实现也没问题。
avatar
N*m
33
那是以前,现在有mybatis-guice和annotation,开发方便多了
如果有比较复杂的query,performance也好很多

ibatis

【在 t***a 的大作中提到】
: 我还以为是啥,就是当年的ibatis嘛。。。。。。
: 这东西我用的比hibernate多。。。。。。hibernate有他自己的问题,但ibatis的开发
: 效率真高不到哪去。我们当年那个傻叉架构师对性能极度迷恋,又控制欲极强。ibatis
: performance上的优势是建立在开发人员对sql的使用上的。。ibatis当年mapping是靠
: 反射的,效率也不高,经常自己写adapter,很烦

avatar
t*a
34
各有优劣吧。。。我也看了一下文档,不至于甩hibernate几条街去
hibernate这些年也不是不干事儿的。。。

【在 N*****m 的大作中提到】
: 那是以前,现在有mybatis-guice和annotation,开发方便多了
: 如果有比较复杂的query,performance也好很多
:
: ibatis

avatar
w*l
35
我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是
Relational?
avatar
c*e
36
当然是oracle.有见到银行用nosql的吗?

【在 w********l 的大作中提到】
: 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是
: Relational?

avatar
t*a
37
人家不是问基因组么。。。。。不是银行

【在 c*********e 的大作中提到】
: 当然是oracle.有见到银行用nosql的吗?
avatar
g*g
38
你不说清楚有多大的数据量,多高的并发,read/write intensive, 对transaction和
availability的要求等等,没人能给合适的建议。如果你不知道该用什么,基本上用
RDBMS就对了。

【在 w********l 的大作中提到】
: 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是
: Relational?

avatar
w*l
39
学习了,再回去问问这些要求。

【在 g*****g 的大作中提到】
: 你不说清楚有多大的数据量,多高的并发,read/write intensive, 对transaction和
: availability的要求等等,没人能给合适的建议。如果你不知道该用什么,基本上用
: RDBMS就对了。

avatar
z*3
40
big table就是针对海量数据用的
看你们对精度要求如何
不过从我对生物学有限的了解看
貌似精度要求不是很高
也就是一万两万里面错那么一两个无所谓
当年学统计时候遇到过一两个这种问题
所以如果这样的话,用nosql是一个比较好的选择

【在 w********l 的大作中提到】
: 我有个特别外行的问题,海量的基因组数据,用什么类型的数据库好呢?NoSQL还是
: Relational?

avatar
w*l
41
噢,是不是说nosql相对与Relational的话,精度要略差点?谢谢了。

【在 z*******3 的大作中提到】
: big table就是针对海量数据用的
: 看你们对精度要求如何
: 不过从我对生物学有限的了解看
: 貌似精度要求不是很高
: 也就是一万两万里面错那么一两个无所谓
: 当年学统计时候遇到过一两个这种问题
: 所以如果这样的话,用nosql是一个比较好的选择

avatar
z*3
42
理论上是
但是实际上科研的东西,很多时候精度跟工业界不能比
因为试验是可以重复做的
但是工业界里面很多transaction是不允许随便失败的
举个例子,信用卡的划账,这个一旦失败就必须回滚
否则后果会很痛苦,因为修改数据牵扯面太广
会涉及到其他模块的不可预知的影响
实际上生产中很多问题都来自业务部门乱改数据
但是做试验不会有这种问题,如果对结果不相信的话
再跑一遍就是了,连续错两遍的几率很小
而且科研一般是内部系统,受到外界不可控的影响比较小
一般也不会错,工业界常见的错误大部分来自互联网

【在 w********l 的大作中提到】
: 噢,是不是说nosql相对与Relational的话,精度要略差点?谢谢了。
avatar
b*i
43
小学就学习了关系型数据库dBase。但是,现在还是不清楚什么是关系型数据库。
比如,GAE的datastore比关系型的,哪些任务做不了?我现在都是数据库只管存数据,
所有逻辑操作全放外面web servlet里,甚至放在html的javascript里面。

【在 c*****y 的大作中提到】
: 在有些领域是可以取代的,那些对transaction要求不高的系统,比如新闻网站的CMS
: 有些领域NOSQL是取代不了传统关系型数据库的。

avatar
z*o
44
ding
avatar
c*e
45
你如果做过1nf,2nf,3nf来亲手建立一個relational database,就知道它是最简单的,
最高效的办法。

【在 b***i 的大作中提到】
: 小学就学习了关系型数据库dBase。但是,现在还是不清楚什么是关系型数据库。
: 比如,GAE的datastore比关系型的,哪些任务做不了?我现在都是数据库只管存数据,
: 所有逻辑操作全放外面web servlet里,甚至放在html的javascript里面。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。