从哪里开始了解数据库内部? [关闭]

Posted

技术标签:

【中文标题】从哪里开始了解数据库内部? [关闭]【英文标题】:Where to start for understanding databases internals? [closed] 【发布时间】:2011-02-18 22:42:41 【问题描述】:

问:从哪里开始了解数据库内部?并开发一个(简单的)数据库?

注意:STSDb 作为嵌入式数据库具有令人着迷的性能。我看了一下来源,但我无法得到它(到目前为止)。所以我认为通过实现一点点来开始理解数据库内部会很有帮助。那么哪些书籍(教程、论文……)对此有帮助?

谢谢

【问题讨论】:

对我来说,这听起来像是 STSdb 的广告。除了提到 STSdb 之外,这个问题几乎没有保证“嵌入式”标签,除非你想限制答案,特别是在嵌入式系统中使用数据库。还有为什么你需要了解内部操作? 另请注意,STSdb 营销中的“嵌入”一词并不意味着与 *** 中的标签 (***.com/tags/embedded/info) 中的标签具有相同意义的“嵌入”。 我为此生气了……只是我不是那样的人。 【参考方案1】:

转到 SQLite 来了解这一点,因为它是一个非常有用的工具,包括 SQL 以及核心数据库功能,并且源代码可用。还有一本名为The Definitive Guide to SQLite 的好书,其中有一章很好地介绍了内部结构。只需点击该书的链接即可预览该章节。

【讨论】:

【参考方案2】:

在他的书数据库系统简介,第 7 版,Chris Date 推荐The Ingres Papers: Anatomy of a Relational Database System。

【讨论】:

【参考方案3】:

由于 STSdb 自己的营销材料指出:

它提供直观的使用、出色的性能和全新的数据库技术。

...而且没有“单一”的数据库技术或结构。传统的关系型数据库和面向对象的数据库是有区别的,这就是 STSdb。

继续说

支持不同的存储模式(磁盘、内存和组合)。

我怀疑这是其明显表现的主要原因;使用内存数据存储。性能可能与可用内存和数据库大小有关。从他们的对比测试来看,10M 记录数据库只有 430Mb,所以在他们使用的 2Gb 测试平台上可以完全在内存中。这一点,以及与应用程序的紧密耦合(即“嵌入式”一词适用的地方),可能是影响其相对性能的最大因素。

【讨论】:

以上是关于从哪里开始了解数据库内部? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我可以从哪里开始学习规则引擎? [关闭]

编程聊天室,从哪里开始? [关闭]

从哪里开始使用实体框架 [关闭]

面向初学者的 C# GUI 编程:从哪里开始? [关闭]

开始学习数据仓库的好地方? [关闭]

如何从增强现实开始? [关闭]