了解数据库内部结构从哪里开始?

发布于 2024-10-18 06:31:05 字数 210 浏览 0 评论 0原文

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

注意: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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

神回复 2024-10-25 06:31:05

去 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.

睫毛溺水了 2024-10-25 06:31:05

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.

烟─花易冷 2024-10-25 06:31:05

我不确定您将从书籍中了解 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:

It provides intuitive use, blazing performance and brand new database techniques.

... 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

Supports different storage modes (on-disk, in-memory and combined).

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文