你能指出其他数据存储工具,并给出使用它们而不是旧的关系数据库的充分理由吗?在我看来,大多数应用程序很少使用SQL的全部功能——看看如何构建一个无SQL的应用程序会很有趣.

推荐答案

文件系统中的纯文本文件

  • 创建和编辑非常简单
  • 方便用户使用简单的工具(如文本编辑器、grep等)进行操作
  • 二进制文件的高效存储

磁盘上的XML或JSON文件

  • 如上所述,但有更多的能力来验证结构.

Electron 表格/CSV文件

  • 商业用户非常容易理解的模型

Subversion(或类似的基于磁盘的版本控制系统)

  • 非常好地支持数据的版本控制

Berkeley DB(基本上是一个基于磁盘的哈希表)

  • 概念上非常简单(只是未键入的键/值)
  • 很快
  • 无管理费用
  • 支持我相信的交易

Amazon's Simple DB

  • 我相信很像伯克利DB,但是

Google's App Engine Datastore

  • 托管且高度可扩展
  • 每文档键值存储(即灵活的数据模型)

CouchDB

  • 文档焦点
  • 半结构化/基于文档的数据的简单存储

本地语言集合(存储在内存中或在磁盘上序列化)

  • 非常紧密的语言整合

定制(手写)存储引擎

  • 在所需的使用情况下可能具有非常高的性能

我不能说自己对它们了解多少,但你也可以看看object database systems个.

Sql相关问答推荐

查找尚未在表中的下一个空闲时间戳

获取特定列分组的最大序列号

SQL Server 按从前到后的顺序从记录中减去一个值

SQL Query 根据另一列的值查找唯一列值

PostgresQL查询以计算一天内的时间间隔

根据状态获取表中的特定数据

SQL - 按订单条件分组

如何从另一个表中获取最后 2 条记录作为列

如何拆分具有逗号和冒号的字符串

为什么这个转换为 DATETIME2?

在 SQL Developer Oracle 中,如何在不使用 MAX、LIMIT 或 ORDER BY 的情况下在 Product 表中找到最贵的产品?

Postgres 大表 Select Query With In 子句的最优索引选择

运行总和并在间隙(reset)后重置

BigQuery JSON - 标量子查询产生了多个元素

如何为原始类型(int,real ...)重载相等运算符?

连接三个表并检索预期结果

视图是否自动更新

适用于所有(或大多数)数据库的高效 SQL 测试查询或验证查询

无法删除表用户,因为其他对象依赖于它

如何跳过sql查询中的前n行