对平面文件db的长度有什么限制?如何控制平面文件页面上的条目数?
答案 0 :(得分:1)
您将仅受服务器硬盘驱动器上的可用空间量和驱动器上使用的文件系统的限制。例如,如果它是具有4KiB块大小的ext3,那么您将被限制为16TiB。在平面文件中执行数据库时,您是数据库格式化的设计者。大多数人按行进行,有些人做空格。这将取决于您和您的需求。请记住,对于更大的数据库,任何SQL服务器(例如MySQL,MSSQL,PostgreSQL等)都会为您提供更好的性能。
以下是使用平面文件作为数据库的示例: http://www.designdetector.com/archives/04/10/FlatFileDatabaseDemo.php#demo
答案 1 :(得分:1)
平面文件数据库的限制取决于服务器的文件系统。如今,您可以使用大小为千兆字节的大型平面文件数据库。但请记住,当您对这些“数据库”进行读写操作时会出现“锁定”问题,而其他人也在阅读和/或写入这些数据库。由于“竞争条件”出错,你不会是第一个在这样的平面文件数据库中丢失所有数据的人。
一些SQLite2 / SQLite3和MySQL都以他们自己的方式处理这些问题,并且大多数时候他们处理它比使用像PHP的“flock”这样的锁定函数的平均fread / fwrite实现更安全(因为它只是对某些人的“建议”) linux系统,可能根本行不通)。这就是人们选择加入此类数据库服务器的原因。它让您免于担心锁定问题,并为您提供了一整套数据库功能来学习和使用! ;)