我应该避免将数据文件用于web应用程序,而使用DB吗


Should I avoid using datafiles for web applications and use DBs instead?

我设计了一个web应用程序,用于管理餐厅网站上的菜单。该应用程序允许餐厅经理对菜单进行更改,而无需每次联系网页设计师(我)。在设计过程中,我最初使用一个数据文件来存储菜单数据。原因是该项目的最初动力是让我更容易对网站内容进行更改,并且我希望在必要时能够直接编辑数据。

现在该项目已经发展成为一个成熟的web应用程序,我想知道是否应该放弃数据文件,转而使用数据库。因为这是针对餐厅菜单的,所以数据量非常小,不会定期进行更改,即使这样,更改也很小。转换到数据库会让我受益吗?有明显的好处吗?

PHP提供了一些很好的函数来将数据存储在文件中,无论是使用json_encode()json_decode()var_export()以原生PHP语法保存变量,还是使用fputcsv()fgetcsv()以CSV格式处理文件。

在较小的项目中,我经常将数据保存到文件中,但我永远不会使用我自己的函数来代替我刚才提到的函数。它们非常方便,一旦你知道它们的作用,你就可以在任何地方使用它们,而不必重新发明轮子。

现在,当您处理大量数据或可能同时进行修改时,数据库是绝对必要的。flock()可能会稍微缓解并发修改的问题,但在一定规模之后,不应该避免使用数据库

数据库提供的另一个优势是,它们使用SQL语言,该语言是为处理数据而设计的。因此,您可以用几行简单的代码生成一些不错的统计数据(等等),而如果您试图在PHP中处理大量数据,它可能会很快变得混乱。

结论:但是,在您的特定情况下,我不建议切换到数据库。正如你所说,数据不多,也不经常被写入,因此我认为建立数据库并将所有代码更改为等效SQL语句的麻烦是不值得的。你的努力可能最好花在其他地方。