【发布时间】:2019-08-28 12:34:07
【问题描述】:
我正在尝试构建一个类似数据库的系统作为学术研究,我想知道将数据永久存储在硬盘驱动器上的最有效方法是什么?数据是如何正常存储在数据库中的,是转换成某种格式,还是只是放在代表表(对于 SQL 数据库)/集合(对于 NoSQL 数据库)的文件中?构建数据库存储系统时要记住哪些事项?我想指定内存数据库不是这个问题的一部分
【问题讨论】:
-
这对于stackoverflow来说有点太宽泛了。存储数据的方式有很多种(包括面向列的和面向行的)。每个数据库都有自己的结构和算法,尽管它们有很多共同点。对于研究,最好选择一个现代的、已知的数据库并了解其内部结构。例如,您可以阅读有关 Oracle DB 如何存储数据here
-
感谢您的回复,在您提出的示例中,显示数据被转换为字节(数据块),这些字节(数据块)按区段分组,但这里有一个问题,怎么办我知道在读取属性“x”时它何时结束并开始属性“y”?我知道,当一个范围结束时,它意味着属性结束(如果我理解正确的话),但我怎样才能以编程方式识别它?换句话说,我如何通过代码实现这一点?
标签: sql database file data-structures nosql