【问题标题】:Should I use relational database or no-sql database? [closed]我应该使用关系数据库还是无 sql 数据库? [关闭]
【发布时间】:2013-05-01 01:21:39
【问题描述】:

我正在开发我的学习项目,这是一个工作网站。我是新手,所以不确定我应该使用关系数据库还是非关系数据库。我也没有使用 no-sql 数据库的经验,所以我很难做出决定。

我想要的一些功能是:

  • 按位置/邮政编码和技术搜索
  • 按职位名称搜索

目前我没有大数据,但应用程序应该是可扩展的。

【问题讨论】:

  • no-sql 的真正意思是“不仅仅是 SQL”。
  • 你必须处理大数据吗?它必须是一致的吗?坚持?可用性如何?您的应用程序是否必须在繁重的负载下为您的客户提供服务?阅读 CAP 定理以及理性与 nosql 的优缺点,然后做出决定。

标签: sql database oracle nosql relational


【解决方案1】:

如果您的应用程序可扩展,那么 RDBMS 是最佳选择: 下面我描述了 RDBMS 的一些优点以及我从 http://wiki.answers.com/Q/Advantage_of_RDBMS 中获取的参考资料


  1. 数据结构: 表格格式简单易懂,便于数据库用户理解和使用。 RDBMS 使用数据的自然结构和组织提供数据访问。数据库查询可以在任何列中搜索匹配条目。

  2. 多用户访问: RDBMS 允许多个数据库用户同时访问一个数据库。内置锁定和事务管理功能允许用户在更改数据时访问数据,防止两个用户在更新数据时发生冲突,并防止用户访问部分更新的记录。

  3. 特权: RDBMS 中的授权和权限控制功能允许数据库管理员限制对授权用户的访问,并根据他们需要执行的数据库任务的类型向各个用户授予权限。可以根据远程客户端IP地址结合用户授权来定义授权,限制对特定外部计算机系统的访问。

  4. 网络访问: RDBMS 通过服务器守护程序提供对数据库的访问,这是一个专门的软件程序,用于侦听网络上的请求,并允许数据库客户端连接和使用数据库。用户无需登录物理计算机系统即可使用数据库,为用户提供了便利,也为数据库提供了一层安全保障。网络访问允许开发人员构建桌面工具和 Web 应用程序以与数据库交互。

  5. 速度: 关系数据库模型不是最快的数据结构。 RDBMS 的优点(例如简单性)使较慢的速度成为一个公平的权衡。 RDBMS 中内置的优化以及数据库的设计提高了性能,使 RDBMS 能够以足够快的速度运行大多数应用程序和数据集。技术的改进、处理器速度的提高以及内存和存储成本的降低使系统管理员能够构建速度极快的系统,从而克服任何数据库性能缺陷。

  6. 维护: RDBMS 具有维护实用程序,可为数据库管理员提供工具来轻松维护、测试、修复和备份系​​统中的数据库。许多功能可以使用 RDBMS 中的内置自动化或操作系统上可用的自动化工具实现自动化。

  7. 语言: RDBMS 支持一种称为“结构化查询语言”(SQL) 的通用语言。 SQL 语法很简单,并且该语言使用标准的英语语言关键字和短语,使其相当直观且易于学习。许多 RDBMS 向 SQL 语言添加了非 SQL、数据库特定的关键字、函数和特性。

【讨论】:

    【解决方案2】:

    对于一个学习项目,毫无疑问你必须先使用经典的RDBMS,然后学习SQL。

    【讨论】:

      猜你喜欢
      • 2017-08-09
      • 2021-08-18
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2012-03-09
      • 2010-09-25
      • 1970-01-01
      相关资源
      最近更新 更多