AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 17195
Accepted
sree
sree
Asked: 2012-04-28 17:48:53 +0800 CST2012-04-28 17:48:53 +0800 CST 2012-04-28 17:48:53 +0800 CST

nosql 支持什么“规模”的应用程序?

  • 772

最近我遇到了 Nosql 数据库概念,虽然我了解了它的方法和原因,但我没有得到正确的问题答案,它支持多大的项目规模?

它会支持通常具有大量统计用途的大型应用程序,如谷歌分析(示例)吗?他们的可靠数据或应用程序是否已经在 couchbase 等数据库上运行?

nosql database-theory
  • 1 1 个回答
  • 332 Views

1 个回答

  • Voted
  1. Best Answer
    Aaron Brown
    2012-04-29T17:56:20+08:002012-04-29T17:56:20+08:00

    这个问题真的太模糊了,无法有效回答。那里有数十种具有各种用例的“NoSQL”数据存储。这是 10,000 英尺外的景色。

    在我看来,常用的 NoSQL 数据存储基本上有 3 大类,键/值存储、文档数据库和大数据 (hadoop)。这是一个有点人为的名称,其中许多产品可以说可以跨越多个领域。还有一些其他类别,例如图形数据库,它们更专门针对特定问题,我不打算在这里讨论它们,因为我对它们没有专业知识。

    大多数 NoSQL 数据库都是简单的键/值存储,在检索命名键时速度非常快。如果您需要扫描或聚合数据集,它们的效率尤其低。k/v 存储的示例有memcached、Riak、Redis、CouchBase、 Voldemort和Amazon DynamoDB。使用HandlerSocket插件(内置于Percona Server),甚至 MySQL 也可以用作非常快速的 k/v 存储。这些 k/v 商店中的每一个都有不同的功能集,旨在解决不同的问题。它们中很少有适合作为应用程序的权威/主要数据存储,因为执行集合操作非常困难且效率低下。这些主要用作缓存层或存储不需要关系操作的非常专业的数据。

    另一类 NoSQL 数据库是文档存储。示例包括MongoDB和Cassandra。这些类型的数据存储比 k/v 存储存储更多的结构化数据,并且通常具有更强大的查询语言。它们具有灵活的“模式”,可以将完全不同的数据集从一行保存到下一行。

    最后,您将获得真正的“大数据”存储,其中Hadoop及其相关查询语言、pig、hive(hadoop 的 SQL 接口)和hbase(hadoop/HDFS 之上的实时数据存储)为王. 除了 hbase 之外,基于 Hadoop 的数据存储往往是为离线处理数百台机器上真正庞大的数据集而构建的。

    附带说明一下,让我对“NoSQL”非常反感的是它实际上与 SQL 语言毫无关系。NoSQL 是关于重新发明数据存储层并使其更“可扩展”(另一个模糊、被误解的术语)和高度可用。在大多数情况下,查询语言是无关紧要的,并且其中一些数据存储已经产生了非常丑陋的方式来执行即使是最简单的操作。如果开发人员做出选择,SQL 可以用作大多数这些数据存储的访问语言 - 查看VoltDB、MySQL Cluster或 Hive 以获取具有“NoSQL”功能的分布式 SQL 数据库的示例。当被视为键/值存储时,SELECT value FROM table WHERE key = ?) 并且创建一个客户端库会相对容易,该客户端库创建一个一致的哈希方案来构建分布式 MySQL 集群,就像使用 Riak、Redis 或 memcached 一样。

    底线是,如果您想要比这更多的细节,则必须更明确地说明您的需求。以下只是您需要回答的一小部分问题,甚至可以限制该字段:

    • 您的访问模式是实时的 (OLTP) 还是将在批处理操作 (OLAP) 中执行?
    • 您是否需要对数据执行聚合或基于集合的计算,或者只是按名称访问键?
    • 您有多少数据,数据的结构如何?
    • 您确定传统的 SQL 数据库不适合您的需求吗?
    • 您的CAP优先事项是什么?
    • 您需要ACID功能吗?
    • 您需要对数据执行什么样的操作?

    我希望这对您的研究有所帮助。

    • 8

相关问题

  • 有没有什么方法可以在 MongoDB 中有效地执行 DENSE_RANK 的等价物?

  • 水平缩放是什么意思?

  • Cassandra 的“phpMyAdmin”

  • 数据库中的多维索引

  • NoSQL 和传统的 RDBMS 有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve