由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - c,java, 数据库内核,数据库应用
相关主题
java的接口runnableRe: how to access the overrided fields o
Java basic concept(1)求助大家 如何用 Eclipse 给一个project加入image
入门Java CLASSPATH问题:anyone using Scala ?
JSP is rubbish!type erasure weird problem
请问java有办法隐藏source code吗请教问题:什么decompiler比较好
self-modifying code?求解释一下java decorator
Question on J2EE container求助JAVA问题
Getting bytecode of a classRe: native thread 和green thread
相关话题的讨论汇总
话题: rdbms话题: derby话题: kernal话题: java话题: 数据库
进入Java版参与讨论
1 (共1页)
f******2
发帖数: 2455
1
数据库接口,java的确做的比其他语言的lib好很多,所以数据库应用java成为
首选正义不大。
可是数据库的内核,有些open source的database,甚至
in-memory database也用java写,估计是和游击队没有
办法大兵团作战的性质有关。berkeley DB是c写的,虽然也
是open source家族,进入特殊领域的主流,这恐怕就是区别。
想问问java高手们,有商业数据库内核用java实现的吗?
m******t
发帖数: 2416
2

The idea behind pure java dbs is (obviously) not to compete with
those more mature C implementations as a generic dbms solution.
Pure java-based dbs are mostly designed to be embedded in applications,
or to serve as testing fixture.

【在 f******2 的大作中提到】
: 数据库接口,java的确做的比其他语言的lib好很多,所以数据库应用java成为
: 首选正义不大。
: 可是数据库的内核,有些open source的database,甚至
: in-memory database也用java写,估计是和游击队没有
: 办法大兵团作战的性质有关。berkeley DB是c写的,虽然也
: 是open source家族,进入特殊领域的主流,这恐怕就是区别。
: 想问问java高手们,有商业数据库内核用java实现的吗?

w***g
发帖数: 5958
3
C/C++在数据库客户端算是彻底败了。特别是C++,发展了这么多年,竟然没有一个牛B
的客户端类库。
要说服务器端,不管用什么语言搞一个都不容易。支持基本的SQL是一回事,正确实现
事务逻辑还要高流量再加上数据恢复什么的,没个七八年弄不下来。现在有那么多免费
的服务器,也基本上覆盖了各种需求,用java再去实现一个意义不大。
就语言来说,java虽然目前在没有内存限制的情况下速度上和C++已经相差无几,但是
相同运算的内存需求还是太大。而稍微上一点规模的数据库几乎都是内存紧缺的,能多
出来一点内存做cache,会对性能影响非常大。所以版上的java大牛们别生气:用java
做数据库服务器基本没戏。

【在 f******2 的大作中提到】
: 数据库接口,java的确做的比其他语言的lib好很多,所以数据库应用java成为
: 首选正义不大。
: 可是数据库的内核,有些open source的database,甚至
: in-memory database也用java写,估计是和游击队没有
: 办法大兵团作战的性质有关。berkeley DB是c写的,虽然也
: 是open source家族,进入特殊领域的主流,这恐怕就是区别。
: 想问问java高手们,有商业数据库内核用java实现的吗?

g*****g
发帖数: 34805
4
数据库实现这种东西是追求性能的,Java当然不合适。除了嵌入式DB
的地方比较方便一些,别的地方是不用的。

牛B
java

【在 w***g 的大作中提到】
: C/C++在数据库客户端算是彻底败了。特别是C++,发展了这么多年,竟然没有一个牛B
: 的客户端类库。
: 要说服务器端,不管用什么语言搞一个都不容易。支持基本的SQL是一回事,正确实现
: 事务逻辑还要高流量再加上数据恢复什么的,没个七八年弄不下来。现在有那么多免费
: 的服务器,也基本上覆盖了各种需求,用java再去实现一个意义不大。
: 就语言来说,java虽然目前在没有内存限制的情况下速度上和C++已经相差无几,但是
: 相同运算的内存需求还是太大。而稍微上一点规模的数据库几乎都是内存紧缺的,能多
: 出来一点内存做cache,会对性能影响非常大。所以版上的java大牛们别生气:用java
: 做数据库服务器基本没戏。

f******2
发帖数: 2455
5
可否关键部分用java写,然后把代码用GCJ编译成binary?这样的好处是
--java programmer的开发效率高写
--完全编译成binary后runtime footprint 小。
GCJ编译出来的东西比正常C++binary效率低多少

【在 g*****g 的大作中提到】
: 数据库实现这种东西是追求性能的,Java当然不合适。除了嵌入式DB
: 的地方比较方便一些,别的地方是不用的。
:
: 牛B
: java

g*****g
发帖数: 34805
6
数据库核心的部分并不是一个很大的项目,但是要求很高,别说Java,
恐怕C++都不敢用,就是纯C。啥优化也没有手工优化好。

【在 f******2 的大作中提到】
: 可否关键部分用java写,然后把代码用GCJ编译成binary?这样的好处是
: --java programmer的开发效率高写
: --完全编译成binary后runtime footprint 小。
: GCJ编译出来的东西比正常C++binary效率低多少

f******2
发帖数: 2455
7
premature optimization is the root of evil。
这个说法感觉比较外行,上来就考虑micro-optimization,
你还不如建议用assembly写。

【在 g*****g 的大作中提到】
: 数据库核心的部分并不是一个很大的项目,但是要求很高,别说Java,
: 恐怕C++都不敢用,就是纯C。啥优化也没有手工优化好。

c*****t
发帖数: 1879
8
说实在,你倒是让人一个外行的感觉。
你有空的话看看 sqlite 或者 postgresql 的代码就知道了。
一个是 memory management 。想靠 garbage collection 是不行的。postgresql
用的是 memory context,这样 free 的话基本上不花时间,也避免 memory leak 。
database 里面 memory / cache management 是极端重要的。
另外,速度很容易被放大的。比如 A 用 C 写来 access tuple 里的某个 column
是用 macro,direct cast 只要几个 op,而 B 用 Java 就得 N 多步骤。有 1000
tuple 恐怕还没太大不同,1million 就很不一样了。更不用说 memory 方面。
所以 posgresql 里面大量运用 macro 。
我以前做过个实验,把直接调用 postgresql 里面几个 api 改成跳过,直接用
macro 处理低端的 structure 以后,可以大大提高性能(N 倍,在 disk cache
的情况下)。

【在 f******2 的大作中提到】
: premature optimization is the root of evil。
: 这个说法感觉比较外行,上来就考虑micro-optimization,
: 你还不如建议用assembly写。

f******2
发帖数: 2455
9
对呀,我就是database外行人问问呀。
不过对系统上来就说macro/inline重要的同学,
多半对系统也不是内行,可能对micro-benchmarking比较熟。

【在 c*****t 的大作中提到】
: 说实在,你倒是让人一个外行的感觉。
: 你有空的话看看 sqlite 或者 postgresql 的代码就知道了。
: 一个是 memory management 。想靠 garbage collection 是不行的。postgresql
: 用的是 memory context,这样 free 的话基本上不花时间,也避免 memory leak 。
: database 里面 memory / cache management 是极端重要的。
: 另外,速度很容易被放大的。比如 A 用 C 写来 access tuple 里的某个 column
: 是用 macro,direct cast 只要几个 op,而 B 用 Java 就得 N 多步骤。有 1000
: tuple 恐怕还没太大不同,1million 就很不一样了。更不用说 memory 方面。
: 所以 posgresql 里面大量运用 macro 。
: 我以前做过个实验,把直接调用 postgresql 里面几个 api 改成跳过,直接用

z****e
发帖数: 54598
10
为什么java能够大发展?
很重要一个原因就是正确地估计了人类科技水平的发展
所以这个语言完全不考虑内存的使用
全部交给计算机去实现
而摩尔定律也正好使得这个前提成为可能
相关主题
self-modifying code?Re: how to access the overrided fields o
Question on J2EE container求助大家 如何用 Eclipse 给一个project加入image
Getting bytecode of a classanyone using Scala ?
进入Java版参与讨论
d****y
发帖数: 701
11
"数据库核心的部分并不是一个很大的项目"
这个的确外行。光编译一块就数小时,算小吗?就复杂性而言,恐怕只有OS级别的可以
比较。
用C是因为老CODE,没办法。现在新模块都用C++。
用什么语言是个次要的问题,好的OO的设计应该可以极大提高可维护性。对大系统而言
,非常重要。

【在 g*****g 的大作中提到】
: 数据库核心的部分并不是一个很大的项目,但是要求很高,别说Java,
: 恐怕C++都不敢用,就是纯C。啥优化也没有手工优化好。

g*****g
发帖数: 34805
12
我对数据库确实外行,但从java实现的一些数据库,比如Apache Derby来看,
其代码量并不如一个应用服务器,甚至如Spring这样的lightweighted container
大。跟OS完全不在一个量级上。Derby的核心bytecode代码仅在3M左右。固然
数据库实现有多种方式,支持的特性不同,但核心部分显然没有你说的那么复杂。

【在 d****y 的大作中提到】
: "数据库核心的部分并不是一个很大的项目"
: 这个的确外行。光编译一块就数小时,算小吗?就复杂性而言,恐怕只有OS级别的可以
: 比较。
: 用C是因为老CODE,没办法。现在新模块都用C++。
: 用什么语言是个次要的问题,好的OO的设计应该可以极大提高可维护性。对大系统而言
: ,非常重要。

c*****t
发帖数: 1879
13
估计上面那位是想到了 teradata 之类的 database ,那已经不是简单
的 database 范涛。sqlite,berkeley db 等还是挺小的。

【在 g*****g 的大作中提到】
: 我对数据库确实外行,但从java实现的一些数据库,比如Apache Derby来看,
: 其代码量并不如一个应用服务器,甚至如Spring这样的lightweighted container
: 大。跟OS完全不在一个量级上。Derby的核心bytecode代码仅在3M左右。固然
: 数据库实现有多种方式,支持的特性不同,但核心部分显然没有你说的那么复杂。

F****n
发帖数: 3271
14
以前数据库的课TERM PROJECT就是实现一个数据库,如果“编译就要几小时”那还有谁
能PASS。我那个组的代码最后只有100K多一点。

【在 g*****g 的大作中提到】
: 我对数据库确实外行,但从java实现的一些数据库,比如Apache Derby来看,
: 其代码量并不如一个应用服务器,甚至如Spring这样的lightweighted container
: 大。跟OS完全不在一个量级上。Derby的核心bytecode代码仅在3M左右。固然
: 数据库实现有多种方式,支持的特性不同,但核心部分显然没有你说的那么复杂。

F****n
发帖数: 3271
15
你想多了,JAVA能大发展除了语言优秀外,主要是实际应用中存在大量用非JAVA和JAVA PERFORMANCE 差别不大的情况,这部分应用没有必要用C,如此而已。
如果JAVA在所有的情况下都比C慢很多,那也早就完蛋了。

【在 z****e 的大作中提到】
: 为什么java能够大发展?
: 很重要一个原因就是正确地估计了人类科技水平的发展
: 所以这个语言完全不考虑内存的使用
: 全部交给计算机去实现
: 而摩尔定律也正好使得这个前提成为可能

F****n
发帖数: 3271
16
三藏大师还是很牛的

【在 f******2 的大作中提到】
: 对呀,我就是database外行人问问呀。
: 不过对系统上来就说macro/inline重要的同学,
: 多半对系统也不是内行,可能对micro-benchmarking比较熟。

k***r
发帖数: 4260
17
有没有试过h2 java db,据说很快的

【在 c*****t 的大作中提到】
: 说实在,你倒是让人一个外行的感觉。
: 你有空的话看看 sqlite 或者 postgresql 的代码就知道了。
: 一个是 memory management 。想靠 garbage collection 是不行的。postgresql
: 用的是 memory context,这样 free 的话基本上不花时间,也避免 memory leak 。
: database 里面 memory / cache management 是极端重要的。
: 另外,速度很容易被放大的。比如 A 用 C 写来 access tuple 里的某个 column
: 是用 macro,direct cast 只要几个 op,而 B 用 Java 就得 N 多步骤。有 1000
: tuple 恐怕还没太大不同,1million 就很不一样了。更不用说 memory 方面。
: 所以 posgresql 里面大量运用 macro 。
: 我以前做过个实验,把直接调用 postgresql 里面几个 api 改成跳过,直接用

d****y
发帖数: 701
18
那些显然是不能叫数据库的。
你总不能说些了点文件管理,内存管理之类,就说自己做了个OS吧。

【在 g*****g 的大作中提到】
: 我对数据库确实外行,但从java实现的一些数据库,比如Apache Derby来看,
: 其代码量并不如一个应用服务器,甚至如Spring这样的lightweighted container
: 大。跟OS完全不在一个量级上。Derby的核心bytecode代码仅在3M左右。固然
: 数据库实现有多种方式,支持的特性不同,但核心部分显然没有你说的那么复杂。

g*****g
发帖数: 34805
19
如果Apache Derby也不能算数据库的话,那除了少数几个主流商业数据库,
大概也没什么东西可以算数据库了。

【在 d****y 的大作中提到】
: 那些显然是不能叫数据库的。
: 你总不能说些了点文件管理,内存管理之类,就说自己做了个OS吧。

d****y
发帖数: 701
20
也许是对数据库定义不一样吧。但如果笼统的说数据库简单是不对的。
就像简单的嵌入式OS也没一般Unix或Windows复杂一样。如果凭某些特定
OS不复杂,就说OS很简单,显然是不对的。
以功能而言,也有复杂和简单之说。DBS实际上实现了很多OS的功能,比如文件管理
,内存管理等等。
总之,通用DBS和通用OS一样,是十分复杂的特大型系统软件,其中逻辑关系之复杂
不是没接触过的人可以想象的。

【在 g*****g 的大作中提到】
: 如果Apache Derby也不能算数据库的话,那除了少数几个主流商业数据库,
: 大概也没什么东西可以算数据库了。

相关主题
type erasure weird problem求助JAVA问题
请教问题:什么decompiler比较好Re: native thread 和green thread
求解释一下java decoratorc,java, 数据库内核,数据库应用 (转载)
进入Java版参与讨论
g*****g
发帖数: 34805
21
RDBS有很复杂的,但大部分的代码在于外延。
核心的部分无非是存储管理,内存管理,连接池,交易,SQL解释器。

【在 d****y 的大作中提到】
: 也许是对数据库定义不一样吧。但如果笼统的说数据库简单是不对的。
: 就像简单的嵌入式OS也没一般Unix或Windows复杂一样。如果凭某些特定
: OS不复杂,就说OS很简单,显然是不对的。
: 以功能而言,也有复杂和简单之说。DBS实际上实现了很多OS的功能,比如文件管理
: ,内存管理等等。
: 总之,通用DBS和通用OS一样,是十分复杂的特大型系统软件,其中逻辑关系之复杂
: 不是没接触过的人可以想象的。

d****y
发帖数: 701
22
WELL,同样的话对于OS一样合适。
如果你说OS也简单,那没问题。
看问题角度不一样而已。

【在 g*****g 的大作中提到】
: RDBS有很复杂的,但大部分的代码在于外延。
: 核心的部分无非是存储管理,内存管理,连接池,交易,SQL解释器。

g*****g
发帖数: 34805
23
"数据库核心的部分并不是一个很大的项目"
这是我最初说的东西,我认为不是很大,你非说光编译要几个小时。

【在 d****y 的大作中提到】
: WELL,同样的话对于OS一样合适。
: 如果你说OS也简单,那没问题。
: 看问题角度不一样而已。

d****y
发帖数: 701
24
看你这个核心怎么定义?如果是一般而言DBS Kernal的话,几个小时编译一点问题没有。
如果你说是你做的数据库或者简单嵌入式数据库的核心,你可以实现得很简单。
回到起始,笼统的说 "数据库核心的部分并不是一个很大的项目", 是不能让人信服的。
我猜你想说的实际是“数据库最基本的核心功能..."

【在 g*****g 的大作中提到】
: "数据库核心的部分并不是一个很大的项目"
: 这是我最初说的东西,我认为不是很大,你非说光编译要几个小时。

g***l
发帖数: 352
25
Java can not be used to write DB kernel. For example, how to use Java to
manage memory, which is very important for DB?

【在 f******2 的大作中提到】
: 数据库接口,java的确做的比其他语言的lib好很多,所以数据库应用java成为
: 首选正义不大。
: 可是数据库的内核,有些open source的database,甚至
: in-memory database也用java写,估计是和游击队没有
: 办法大兵团作战的性质有关。berkeley DB是c写的,虽然也
: 是open source家族,进入特殊领域的主流,这恐怕就是区别。
: 想问问java高手们,有商业数据库内核用java实现的吗?

F****n
发帖数: 3271
26
WINDOWS的核心程序可以拷在几张软盘上。

【在 d****y 的大作中提到】
: 那些显然是不能叫数据库的。
: 你总不能说些了点文件管理,内存管理之类,就说自己做了个OS吧。

J*******n
发帖数: 511
27
ding
w*********e
发帖数: 5286
28
Kernal RDBMS is way more complicated than what you said. The toy you implemented in school can not be called RDBMS.
optimizer, compiler, code generation, execution layer (serial execution,
parallel execution), data layer are much more complicated than what you
thought, not to mention transaction, materialized view, language support,
manageability, etc.

【在 g*****g 的大作中提到】
: RDBS有很复杂的,但大部分的代码在于外延。
: 核心的部分无非是存储管理,内存管理,连接池,交易,SQL解释器。

w*********e
发帖数: 5286
29
我觉得严格说,dbms不是仅仅是os之上的application,
如果真的要上规模的话,要改很多os里面的东西。
用java写可能会有很多限制,当然,如果只是
小规模的应用的话,用java也可能满足要求了。

【在 f******2 的大作中提到】
: 可否关键部分用java写,然后把代码用GCJ编译成binary?这样的好处是
: --java programmer的开发效率高写
: --完全编译成binary后runtime footprint 小。
: GCJ编译出来的东西比正常C++binary效率低多少

F****n
发帖数: 3271
30
Most things you mention are not core of RDBMS

implemented in school can not be called RDBMS.

【在 w*********e 的大作中提到】
: Kernal RDBMS is way more complicated than what you said. The toy you implemented in school can not be called RDBMS.
: optimizer, compiler, code generation, execution layer (serial execution,
: parallel execution), data layer are much more complicated than what you
: thought, not to mention transaction, materialized view, language support,
: manageability, etc.

相关主题
qeustion about separation of interface and implementation in javaJava basic concept(1)
问个弱问题,C++为什么把interface和implementation分开?入门Java CLASSPATH问题:
java的接口runnableJSP is rubbish!
进入Java版参与讨论
w*********e
发帖数: 5286
31
you must be kidding me, have you every touched any core RDBMS code?

【在 F****n 的大作中提到】
: Most things you mention are not core of RDBMS
:
: implemented in school can not be called RDBMS.

g*****g
发帖数: 34805
32
No, but Apache Derby is recognized as a RDBMS everywhere, and
Derby core is only 2M bytecode. It can't be rocket science.

【在 w*********e 的大作中提到】
: you must be kidding me, have you every touched any core RDBMS code?
w*********e
发帖数: 5286
33
as other ppl said, it is just like an embedded OS VS a
full-fledged OS like linux&windows.
you cannot judge complexity of kernal RDBMS by Derby.
If derby is recoginized as a RDBMS everywhere, why shall we
have DB2, ORacle, SQL Server, and even lower-end mysql?
anyway, it is all about how you look at the word "KERNAL".
for me, a "KERNAL" RDBMS shall at least cover from parser,
compiler, code-generation, execution to data layer, with
support of the core set of ANSI SQL.
Even without transaction

【在 g*****g 的大作中提到】
: No, but Apache Derby is recognized as a RDBMS everywhere, and
: Derby core is only 2M bytecode. It can't be rocket science.

s***c
发帖数: 1926
34
你说的很多都不算内核。

【在 w*********e 的大作中提到】
: as other ppl said, it is just like an embedded OS VS a
: full-fledged OS like linux&windows.
: you cannot judge complexity of kernal RDBMS by Derby.
: If derby is recoginized as a RDBMS everywhere, why shall we
: have DB2, ORacle, SQL Server, and even lower-end mysql?
: anyway, it is all about how you look at the word "KERNAL".
: for me, a "KERNAL" RDBMS shall at least cover from parser,
: compiler, code-generation, execution to data layer, with
: support of the core set of ANSI SQL.
: Even without transaction

g*****g
发帖数: 34805
35
From wiki:
The core of the technology, Derby’s database engine is a full functioned
relational embedded database engine
Not saying Derby is as sophiscated as Oracle, DB2 etc., but Derby demos
the core of an RDBMS regardless.

【在 w*********e 的大作中提到】
: as other ppl said, it is just like an embedded OS VS a
: full-fledged OS like linux&windows.
: you cannot judge complexity of kernal RDBMS by Derby.
: If derby is recoginized as a RDBMS everywhere, why shall we
: have DB2, ORacle, SQL Server, and even lower-end mysql?
: anyway, it is all about how you look at the word "KERNAL".
: for me, a "KERNAL" RDBMS shall at least cover from parser,
: compiler, code-generation, execution to data layer, with
: support of the core set of ANSI SQL.
: Even without transaction

w*********e
发帖数: 5286
36
Even wiki can serve as proof, please read carefully.
It said "embedded database engine".
你可以从embedded os的复杂度来推断windows, linux kernal的复杂度吗?

【在 g*****g 的大作中提到】
: From wiki:
: The core of the technology, Derby’s database engine is a full functioned
: relational embedded database engine
: Not saying Derby is as sophiscated as Oracle, DB2 etc., but Derby demos
: the core of an RDBMS regardless.

w*********e
发帖数: 5286
37
LOL, you can define whatever kernal you want.

【在 s***c 的大作中提到】
: 你说的很多都不算内核。
g*****g
发帖数: 34805
38
LOL, embeded in java is a term that says something can be run
in the same JVM as your main module, and can be easily packaged
and ported everywhere, as opposed to a separate service running
in a different JVM. It doesn't hint the capability is limited.
e.g. Tomcat cannot be embeded, Jetty can.
Derby can serve as a stand alone network server too.

【在 w*********e 的大作中提到】
: Even wiki can serve as proof, please read carefully.
: It said "embedded database engine".
: 你可以从embedded os的复杂度来推断windows, linux kernal的复杂度吗?

w*********e
发帖数: 5286
39
那你还不如说有的embedded os很简单就等于linux/windows/unix os kernal也很简单
了。一个极端的例子,linux kernal里面process scheduling最核心的部分也就是100
多行,一个作业量而已,连course project也算不上,按照你的逻辑,os的kernal也挺
简单的,一个course project而已。其他都是你所谓的“外延”么
可以作为stand alone network server 不等于就是一个rdbms了,前面说了,
只有一个很基本的query/data storage功能的东西远远称不上rdbms。
好了多说无益,你可以找本基本的db教科书看看,看看rdbms至少应该包括些什么。当
然了,你可以有自己的rdbms的定义,你也可以认为所谓的kernal rdbms就是2M
bytecode那点东西,前面有网友说了,看问题的角度不一样,我只是觉得你对kernal和
所谓“外延”的定义非常奇怪而已。

【在 g*****g 的大作中提到】
: LOL, embeded in java is a term that says something can be run
: in the same JVM as your main module, and can be easily packaged
: and ported everywhere, as opposed to a separate service running
: in a different JVM. It doesn't hint the capability is limited.
: e.g. Tomcat cannot be embeded, Jetty can.
: Derby can serve as a stand alone network server too.

F****n
发帖数: 3271
40
我前面说过,Windows, Linux的核心程序都只有几M,其他都是Driver, 图形驱动,和
其他延伸程序。我做过Postgre的MODULE, 确实没做过核心的,因为核心确实是很小(
但很关键)的一部分,大部分加个INDEXER什么的都不会接触到。

【在 w*********e 的大作中提到】
: Even wiki can serve as proof, please read carefully.
: It said "embedded database engine".
: 你可以从embedded os的复杂度来推断windows, linux kernal的复杂度吗?

相关主题
JSP is rubbish!Question on J2EE container
请问java有办法隐藏source code吗Getting bytecode of a class
self-modifying code?Re: how to access the overrided fields o
进入Java版参与讨论
F****n
发帖数: 3271
41
你确实比较无知。

100

【在 w*********e 的大作中提到】
: 那你还不如说有的embedded os很简单就等于linux/windows/unix os kernal也很简单
: 了。一个极端的例子,linux kernal里面process scheduling最核心的部分也就是100
: 多行,一个作业量而已,连course project也算不上,按照你的逻辑,os的kernal也挺
: 简单的,一个course project而已。其他都是你所谓的“外延”么
: 可以作为stand alone network server 不等于就是一个rdbms了,前面说了,
: 只有一个很基本的query/data storage功能的东西远远称不上rdbms。
: 好了多说无益,你可以找本基本的db教科书看看,看看rdbms至少应该包括些什么。当
: 然了,你可以有自己的rdbms的定义,你也可以认为所谓的kernal rdbms就是2M
: bytecode那点东西,前面有网友说了,看问题的角度不一样,我只是觉得你对kernal和
: 所谓“外延”的定义非常奇怪而已。

g*****g
发帖数: 34805
42
wiki上写的很清楚是full functional RDBMS. 怕是你的
定义跟别人不一样吧。这个embedded跟embeded OS的embedded
完全不一样,你非扯一块不是显得外行吗。

100

【在 w*********e 的大作中提到】
: 那你还不如说有的embedded os很简单就等于linux/windows/unix os kernal也很简单
: 了。一个极端的例子,linux kernal里面process scheduling最核心的部分也就是100
: 多行,一个作业量而已,连course project也算不上,按照你的逻辑,os的kernal也挺
: 简单的,一个course project而已。其他都是你所谓的“外延”么
: 可以作为stand alone network server 不等于就是一个rdbms了,前面说了,
: 只有一个很基本的query/data storage功能的东西远远称不上rdbms。
: 好了多说无益,你可以找本基本的db教科书看看,看看rdbms至少应该包括些什么。当
: 然了,你可以有自己的rdbms的定义,你也可以认为所谓的kernal rdbms就是2M
: bytecode那点东西,前面有网友说了,看问题的角度不一样,我只是觉得你对kernal和
: 所谓“外延”的定义非常奇怪而已。

s***c
发帖数: 1926
43
大家都是技术人员,没必要抬杠了。
话说回来,我见过prolog写的数据库内核,很小. prolog虽然慢,但由于CONCURRENY
CONTROL算法与现有RDBMS不同,整体性能相当好。
s******n
发帖数: 876
44
我觉的你们发错版了,讨论的是哲学问题,比如玩具汽车算不算汽车,包不包含汽车的
“核心技术”。
b******y
发帖数: 9224
45
我曾经研究过用java写relational database engine, 也实践过。作为真正工业界用途
来讲,java对performance还不是特别的有优势。我研究过的java db engine 有HSql,
Cloudscape等等。
我觉得,数据库和操作系统,还是要用c来写。毕竟可以管理内存。java的内存管理自
动化,也就不可能作为system programming language.
w*********e
发帖数: 5286
46
只剩下谩骂, 你这种人来谈什么 rdbms kernal真是joke

【在 F****n 的大作中提到】
: 你确实比较无知。
:
: 100

w*********e
发帖数: 5286
47
我也是闲的慌,和你这种Wiki也拿来当标准的的讨论。
还是建议你多看看书把,没事看看mysql, postgrel的code,
看看一个一个rdbms kernal的复杂度到底有多少,
别弄个COURSE PROJ就出来张口判断RMDBS KERNAL的复杂度了。

【在 g*****g 的大作中提到】
: wiki上写的很清楚是full functional RDBMS. 怕是你的
: 定义跟别人不一样吧。这个embedded跟embeded OS的embedded
: 完全不一样,你非扯一块不是显得外行吗。
:
: 100

w*********e
发帖数: 5286
48
对kernal理解不同也挺正常,
但是如果不同意别人对rdbms kernal 的定义,
那说说他自己对kernal的定义好了,
但是什么都说不出,要不就是谩骂,
要不就是拿出wiki上对一个derby的定义来当证据,
有些人只是玩了个玩具汽车(怕是连玩具的原理都没搞明白)
就开始论断汽车的“kernal”复杂度只是一个玩具大小了。

【在 s******n 的大作中提到】
: 我觉的你们发错版了,讨论的是哲学问题,比如玩具汽车算不算汽车,包不包含汽车的
: “核心技术”。

g*****g
发帖数: 34805
49
所谓RDBMS,就是数据存储成表状,对接口的要求一般就是支持
SQL。我举的索引你觉得没用,那就请举一个你觉得公认的定义
大家看看,总不成你的理解就是圣经了吧。
我看你说的这个要吗什么都说不出,要不就是谩骂总结得很好。

【在 w*********e 的大作中提到】
: 对kernal理解不同也挺正常,
: 但是如果不同意别人对rdbms kernal 的定义,
: 那说说他自己对kernal的定义好了,
: 但是什么都说不出,要不就是谩骂,
: 要不就是拿出wiki上对一个derby的定义来当证据,
: 有些人只是玩了个玩具汽车(怕是连玩具的原理都没搞明白)
: 就开始论断汽车的“kernal”复杂度只是一个玩具大小了。

c*****t
发帖数: 1879
50
强烈鄙视连 kernel 都拼写不对的人 :) 你好像篇篇都是将其拼错。
也猜不出怎么可能把 postgres 拼成 postgrel 。。。RMDBS 更。。。
你该没学过打字吧。。。

【在 w*********e 的大作中提到】
: 我也是闲的慌,和你这种Wiki也拿来当标准的的讨论。
: 还是建议你多看看书把,没事看看mysql, postgrel的code,
: 看看一个一个rdbms kernal的复杂度到底有多少,
: 别弄个COURSE PROJ就出来张口判断RMDBS KERNAL的复杂度了。

相关主题
求助大家 如何用 Eclipse 给一个project加入image请教问题:什么decompiler比较好
anyone using Scala ?求解释一下java decorator
type erasure weird problem求助JAVA问题
进入Java版参与讨论
w*********e
发帖数: 5286
51
ok, 你的定义(表装数据+sql)能不能称为rdbms kernal我们暂且不论,
就算依据你的定义好了,把什么索引,buffer management, optimizer, statistics,
code generation,全部扔掉, 2M bytecode能支持ANSI SQL的
pipeline execution吗?你对SQL有多少概念?
再一次用你自己的例子,你自己去看看derby,
仅仅就是表装table和sql,derby用了多少code

【在 g*****g 的大作中提到】
: 所谓RDBMS,就是数据存储成表状,对接口的要求一般就是支持
: SQL。我举的索引你觉得没用,那就请举一个你觉得公认的定义
: 大家看看,总不成你的理解就是圣经了吧。
: 我看你说的这个要吗什么都说不出,要不就是谩骂总结得很好。

g*****g
发帖数: 34805
52
我让你找一个你觉得合适的DB kernel的定义让大家看看,你
废话了两天了还找不出来。我是来学习,不是来跟你辩论的,
如果你找不出来,就不要浪费大家时间了。
至于这derby core能干啥,人wiki上写了。
Derby Embedded Database Engine
The core of the technology, Derby’s database engine is a full functioned
relational embedded database engine. JDBC and SQL are the programming APIs.
It has IBM DB2 SQL syntax.

【在 w*********e 的大作中提到】
: ok, 你的定义(表装数据+sql)能不能称为rdbms kernal我们暂且不论,
: 就算依据你的定义好了,把什么索引,buffer management, optimizer, statistics,
: code generation,全部扔掉, 2M bytecode能支持ANSI SQL的
: pipeline execution吗?你对SQL有多少概念?
: 再一次用你自己的例子,你自己去看看derby,
: 仅仅就是表装table和sql,derby用了多少code

w*********e
发帖数: 5286
53
不是和你说了么,你要学习jiu自己去看看基本的db教科书把,
那上面大部分章节加起来就是一个基本的rdbms kernal.
你自己非要编造自己定义(表装table+sql),别人也没办法.
而且就算你自己的定义,也根本没办法支持你的结论

.

【在 g*****g 的大作中提到】
: 我让你找一个你觉得合适的DB kernel的定义让大家看看,你
: 废话了两天了还找不出来。我是来学习,不是来跟你辩论的,
: 如果你找不出来,就不要浪费大家时间了。
: 至于这derby core能干啥,人wiki上写了。
: Derby Embedded Database Engine
: The core of the technology, Derby’s database engine is a full functioned
: relational embedded database engine. JDBC and SQL are the programming APIs.
: It has IBM DB2 SQL syntax.

g*****g
发帖数: 34805
54
呵呵,网上的都是错的,还要我自己去找教科书。
大哥,行为艺术有个度好不好,这是技术版块,
不太合适。

【在 w*********e 的大作中提到】
: 不是和你说了么,你要学习jiu自己去看看基本的db教科书把,
: 那上面大部分章节加起来就是一个基本的rdbms kernal.
: 你自己非要编造自己定义(表装table+sql),别人也没办法.
: 而且就算你自己的定义,也根本没办法支持你的结论
:
: .

w*********e
发帖数: 5286
55
什么行为艺术?? 我前面不是说了rdbms的kernal应该包括什么么
这也是任何一个db教科书应该有的内容,你连这个都不知道还谈什么别的?
这里是技术板块,你也稍微作点rdbms的kernal工作再来论断rdbms的复杂度吧。
没看过也没改过任何rdbms kernal code,那你看看db教科书总可以把。
连书都不愿意看,还高谈阔论什么rdbms kernal呢?
算了,不说了, 和你这样的说话真是够累的。

【在 g*****g 的大作中提到】
: 呵呵,网上的都是错的,还要我自己去找教科书。
: 大哥,行为艺术有个度好不好,这是技术版块,
: 不太合适。

g*****g
发帖数: 34805
56
绕来绕去还是您说了算,网上都是错的,只有您的定义跟教科书是一样的。
我也没啥好说的了。

【在 w*********e 的大作中提到】
: 什么行为艺术?? 我前面不是说了rdbms的kernal应该包括什么么
: 这也是任何一个db教科书应该有的内容,你连这个都不知道还谈什么别的?
: 这里是技术板块,你也稍微作点rdbms的kernal工作再来论断rdbms的复杂度吧。
: 没看过也没改过任何rdbms kernal code,那你看看db教科书总可以把。
: 连书都不愿意看,还高谈阔论什么rdbms kernal呢?
: 算了,不说了, 和你这样的说话真是够累的。

d****y
发帖数: 701
57
最初接触DOS的时候,也觉得那就是操作系统了,后来学了基本OS课程,自己认为D
OS不是个完整的OS。
同样咱也不把Delby之类叫做完整的DBMS,也就是说它没完全实现DBMS的核心功能。

【在 g*****g 的大作中提到】
: RDBS有很复杂的,但大部分的代码在于外延。
: 核心的部分无非是存储管理,内存管理,连接池,交易,SQL解释器。

g*****g
发帖数: 34805
58
没人要拿Derby跟oracle比特性,但说Derby没实现数据库内核就是瞎说了。
就跟说Dos没实现OS内核一样。

【在 d****y 的大作中提到】
: 最初接触DOS的时候,也觉得那就是操作系统了,后来学了基本OS课程,自己认为D
: OS不是个完整的OS。
: 同样咱也不把Delby之类叫做完整的DBMS,也就是说它没完全实现DBMS的核心功能。

T*********g
发帖数: 496
59
re

【在 c*****t 的大作中提到】
: 说实在,你倒是让人一个外行的感觉。
: 你有空的话看看 sqlite 或者 postgresql 的代码就知道了。
: 一个是 memory management 。想靠 garbage collection 是不行的。postgresql
: 用的是 memory context,这样 free 的话基本上不花时间,也避免 memory leak 。
: database 里面 memory / cache management 是极端重要的。
: 另外,速度很容易被放大的。比如 A 用 C 写来 access tuple 里的某个 column
: 是用 macro,direct cast 只要几个 op,而 B 用 Java 就得 N 多步骤。有 1000
: tuple 恐怕还没太大不同,1million 就很不一样了。更不用说 memory 方面。
: 所以 posgresql 里面大量运用 macro 。
: 我以前做过个实验,把直接调用 postgresql 里面几个 api 改成跳过,直接用

m******t
发帖数: 2416
60

Finally... I didn't want to say anything because I normally don't
pick on people's spelling, but I really think that if people choose
to post in a condescending tone and keep referring others to
"basic dbms textbooks," they should probably also make sure
they got right the one keyword that the whole debate is about.

【在 c*****t 的大作中提到】
: 强烈鄙视连 kernel 都拼写不对的人 :) 你好像篇篇都是将其拼错。
: 也猜不出怎么可能把 postgres 拼成 postgrel 。。。RMDBS 更。。。
: 你该没学过打字吧。。。

相关主题
Re: native thread 和green thread问个弱问题,C++为什么把interface和implementation分开?
c,java, 数据库内核,数据库应用 (转载)java的接口runnable
qeustion about separation of interface and implementation in javaJava basic concept(1)
进入Java版参与讨论
w*********e
发帖数: 5286
61
那时因为我的输入法不太方便几个间切换来切换去,不过你也太无聊了把

【在 c*****t 的大作中提到】
: 强烈鄙视连 kernel 都拼写不对的人 :) 你好像篇篇都是将其拼错。
: 也猜不出怎么可能把 postgres 拼成 postgrel 。。。RMDBS 更。。。
: 你该没学过打字吧。。。

g*****g
发帖数: 34805
62
Not being mean, but it's hard to imagine what can make
"kernal" easier to type than kernel.

【在 w*********e 的大作中提到】
: 那时因为我的输入法不太方便几个间切换来切换去,不过你也太无聊了把
w*********e
发帖数: 5286
63
别浪费时间了,他不要说没有接触过数据库内核code,连derby能作什么都没有搞清楚
,只会硬凹引用那个wiki “2m bytecode”来论断数据库的复杂度,
其实就算依照他自己的对“核心”的定义,“2m bytecode”也远远不够。

【在 d****y 的大作中提到】
: 最初接触DOS的时候,也觉得那就是操作系统了,后来学了基本OS课程,自己认为D
: OS不是个完整的OS。
: 同样咱也不把Delby之类叫做完整的DBMS,也就是说它没完全实现DBMS的核心功能。

g*****g
发帖数: 34805
64
hehe, the entire internet is a waste anyway as there ain't
even an accurate definition for RDBMS core per se.

【在 w*********e 的大作中提到】
: 别浪费时间了,他不要说没有接触过数据库内核code,连derby能作什么都没有搞清楚
: ,只会硬凹引用那个wiki “2m bytecode”来论断数据库的复杂度,
: 其实就算依照他自己的对“核心”的定义,“2m bytecode”也远远不够。

w*********e
发帖数: 5286
65
还什么entire internet,wiki这种可以随便改的上面的一句话也能代表entire
internet了.
说的不好听一点,你对os和rdbms的内核基本上都是一无所知,
我相信你连那derby 那2M bytecode是干什么的也没搞清楚过.

【在 g*****g 的大作中提到】
: hehe, the entire internet is a waste anyway as there ain't
: even an accurate definition for RDBMS core per se.

w*********e
发帖数: 5286
66
不是说了么,办公室机器切换不方便所以只好每次copy-paste,
不过关个水还要纠缠这个,你也太无聊了把。

【在 g*****g 的大作中提到】
: Not being mean, but it's hard to imagine what can make
: "kernal" easier to type than kernel.

g*****g
发帖数: 34805
67
wiki can be wrong, but you insist I have to find the definition
on textbook and textbook only, even after I ask for a reference.
I have to assume the entire internet is wrong.

【在 w*********e 的大作中提到】
: 还什么entire internet,wiki这种可以随便改的上面的一句话也能代表entire
: internet了.
: 说的不好听一点,你对os和rdbms的内核基本上都是一无所知,
: 我相信你连那derby 那2M bytecode是干什么的也没搞清楚过.

w*********e
发帖数: 5286
68
什么逻辑,一个wiki能推出entire internet is wrong.吗?
我建议你去看code你又不去,那我除了建议你看教科书还能怎么办?

【在 g*****g 的大作中提到】
: wiki can be wrong, but you insist I have to find the definition
: on textbook and textbook only, even after I ask for a reference.
: I have to assume the entire internet is wrong.

g*****g
发帖数: 34805
69
I ASK several times, show me the right reference if wiki is wrong.
There ain't even one available on Internet that makes it right?
If you can't do it, this conversation is over, there's no need
to argue just for argue's sake.

【在 w*********e 的大作中提到】
: 什么逻辑,一个wiki能推出entire internet is wrong.吗?
: 我建议你去看code你又不去,那我除了建议你看教科书还能怎么办?

c*****t
发帖数: 1879
70
最近没事?跟他争个啥劲?就是一挖坑的。什么是 RDBMS,看看 Codd's
rules 就是了。

【在 g*****g 的大作中提到】
: I ASK several times, show me the right reference if wiki is wrong.
: There ain't even one available on Internet that makes it right?
: If you can't do it, this conversation is over, there's no need
: to argue just for argue's sake.

相关主题
Java basic concept(1)请问java有办法隐藏source code吗
入门Java CLASSPATH问题:self-modifying code?
JSP is rubbish!Question on J2EE container
进入Java版参与讨论
j***i
发帖数: 40
71
So you think you can implement all Codd's rules in 2M bytecode(or a course
project, whatever)?
You don't even know the difference between an RDBMS and relational algebra.

【在 c*****t 的大作中提到】
: 最近没事?跟他争个啥劲?就是一挖坑的。什么是 RDBMS,看看 Codd's
: rules 就是了。

j***i
发帖数: 40
72
Following the thread, I think both daisyy and whisper have answered your questions several times.
You just repeated asking the same question over and over regardless of
responses from others.
If you do not wanna read source code or textbooks, you can go over
"Architecture of a Database System"
a recent however terrific paper by Joe. Hellerstein and Michael Stonebraker.
Specifically, you can read Section 4 to understand what the core RDBMS is.
By no means you can implement the core logic of RDBMS

【在 g*****g 的大作中提到】
: I ASK several times, show me the right reference if wiki is wrong.
: There ain't even one available on Internet that makes it right?
: If you can't do it, this conversation is over, there's no need
: to argue just for argue's sake.

1 (共1页)
进入Java版参与讨论
相关主题
Re: native thread 和green thread请问java有办法隐藏source code吗
c,java, 数据库内核,数据库应用 (转载)self-modifying code?
qeustion about separation of interface and implementation in javaQuestion on J2EE container
问个弱问题,C++为什么把interface和implementation分开?Getting bytecode of a class
java的接口runnableRe: how to access the overrided fields o
Java basic concept(1)求助大家 如何用 Eclipse 给一个project加入image
入门Java CLASSPATH问题:anyone using Scala ?
JSP is rubbish!type erasure weird problem
相关话题的讨论汇总
话题: rdbms话题: derby话题: kernal话题: java话题: 数据库