了解数据库内部结构从哪里开始?
问:了解数据库内部结构从哪里开始?并开发一个(简单的)数据库?
注意:STSDb 作为嵌入式数据库具有令人着迷的性能。我查看了源代码,但我无法获取它(到目前为止)。因此,我认为通过实现一个小功能来开始了解数据库内部结构会有所帮助。那么哪些书籍(教程、论文……)对此有帮助呢?
谢谢
Q: Where to start for understanding databases internals? And developing a (simple) database?
Note: STSDb has a fascinating performance as an embedded database. I took a look on the source but I can't get it (so far). So I thought starting to understanding database internals by implementing a little one would bu helpful. So what books (tutorials, essays, ...) would help for this?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
去 SQLite 学习这个,因为它是一个非常有用的工具,包括 SQL 以及核心数据库功能,并且源代码可用。还有一本好书,名为 SQLite 权威指南 其中有一个关于内部结构的很好的章节。只需点击本书的链接即可预览该章节。
Go to SQLite to learn this because it is a darn useful tool, includes SQL as well as the core database functionality, and source code is available. There is also a nice book called The Definitive Guide to SQLite which has a nice chapter on internals. Just follow the link to the book to preview that chapter.
Chris Date 在其著作《数据库系统简介》第 7 版中建议 Ingres 论文:关系数据库系统剖析。
In his book An Introduction to Database Systems, 7th ed., Chris Date recommends The Ingres Papers: Anatomy of a Relational Database System.
我不确定您将从书籍中了解 STSdb 或自行实施什么,因为 STSdb 自己的营销材料指出:
...并且不存在“单一”的数据库技术或结构。传统关系数据库和面向对象数据库之间肯定存在区别,这就是 STSdb。
它接着说
我怀疑这是其表现出色的主要原因;使用内存数据存储。性能可能与可用内存和数据库大小有关。从他们的对比测试来看,10M 记录数据库只有 430Mb,因此在他们使用的 2Gb 测试平台上可以完全存储在内存中。这以及与应用程序的紧密耦合(即“嵌入式”一词适用的地方)可能是其相对性能的最大因素。
I am not sure what you will learn about STSdb from books or implementing your own since STSdb's own marketing materiel states:
... and there is no 'one' database technology or structure. There is certainly a distinction between traditional relational databases and object oriented databases which is what STSdb is.
It goes on to say
I suspect that that is the primary reason for its apparent performance; the use of in-memory data storage. Performance is likely related to available memory and database size. Looking at their comparative tests, the 10M record data base was only 430Mb, so can be entirely in-memory on the 2Gb test platform they used. That, and tight coupling with the application (that is where the term 'embeddded' applies), are probably the biggest factors in its relative performance.