如果您的存储需求很小,那么使用SQL数据库就有点大材小用了。当我年轻无知时,我使用文本文件,并在需要访问它时使用flock()函数。这种方法不能扩展,但我仍然认为非数据库解决方案在Web 2.0中完全被忽略了。
是否有人不使用SQL数据库进行存储?有哪些替代方案?
嗯,这是一个有点开放式的问题,OP提出了两个问题...关于SQL替代方案和非SQL。
总的来说,在“为什么SQL好”的类别中...它是一种成熟且强大的标准,提供引用完整性。Java JDBC完全支持它,像TOAD这样的工具也支持它,还有许多SQL实现,比如前面提到的SQL-Lite。
现在特定于“网站”并不特别说明任何事情。一个网站需要引用完整性吗?也许。如果网站的业务性质主要是非结构化内容,那么可以考虑任何类型的持久存储,从所谓的“无SQL”数据库(如AWS DynamoDB)到Mongo(虽然我不是粉丝)。
对于管理SQL存储的复杂性-与创建的每个持久性存储的列表相比,建议之一是AWS Aurora(RDS服务的一部分)。它是多区域活动-活动且完全符合MySQL的。基于JDBC / ODBC的驱动程序框架将开箱即用,并且它有效地提供“零管理”。
我的个人偏好是使用支持SQL的关系型数据库管理系统,它为我提供了至少在供应商级别上标准化、熟悉且强大的语法,但与很多人不同的是,我并不认为这是唯一的选择,在大多数情况下,我会建议使用站点生成器将不必动态生成的部分保存到静态存储中,因为这是在网络上生存的最便宜的方式。
简而言之,这取决于你,SQL和关系型数据库备受欢迎。
这取决于您存储的内容以及需要如何访问它。通常,SQL提供了出色的报告和手动管理能力。几乎所有东西都需要一种管理存储内容并对其进行报告的方式。