我陷入了关于是否使用MongoDB或Cassandra来满足我的数据库需求的具体决定之间,并希望对我的用例进行输入以指导我的决定。
要求:
数据源
e、 g.目前(3个数据中心、50台服务器、19个网络和10个统计数据)。这些数字会随着时间的推移而增加。
数据获取:
数据存储:
注:我们需要具备以下能力:
示例用例:在前端,您将像这样进行查询,选择;日期窗口、期间报告、特定数据中心、特定/所有网络、特定/所有统计信息,以及结果是汇总的还是单个的。
Example #1
- From: August 16th 2012 -> April 16th 2013
- Period: Daily
- Data-center: EU A
- Stat-type: Error
- Servers: All
通过阅读stack overflow和web上的类似文章,我得出结论,我的最佳选择可能是MongoDB,因为它具有灵活的查询和接近关系数据库的特性。如果我的写作量更大,Cassandra似乎是一个选择——尽管我确实喜欢基于专栏的模式。我是数据库设计和管理的新手,所以易用性也是一个因素(仍然是CS学生)。
从我的用例来看,哪个NoSql数据库是最好的选择?
你的主题是,“nosql:MongoDB、Cassandra或数据仓库的替代品。”然而,您的描述并不完全是数据仓库。如果问题是:如何做一个合适的“数据仓库”,那么答案是这些NOSQL数据存储都没有。最好的数据仓库解决方案是无共享环境中的并行数据库(MPP)。对于查询/统计报告需求,可以使用Sybase IQ或Vertica等倒列数据库。这两种方法(MPP或倒列)都将在真正的数据仓库环境中清除NOSQL的时钟。
你几乎把它钉在了你的结论中。为了下定决心,你主要必须在每个数据库的特权之间做出选择,即:
卡珊德拉:
MongoDB:
我想一致性不是什么大问题,无论如何,它们最终都是一致的。即使MongoDB可能更容易上手(更接近关系数据模型),Cassandra也没那么难,你只需要理解面向列的范式。无论如何,从技术角度来看,我想答案取决于您对系统规模增长的预期以及您的请求是否会发展。
我对ES很陌生。我一直在寻找数据库迁移工具,但找不到。我想知道是否有人能帮我指出正确的方向。 我会使用 Elasticsearch 作为项目中的主数据存储。我想对所有映射和配置更改/数据导入/数据升级脚本进行版本控制,这些脚本是我在项目中开发新模块时运行的。 过去,我使用Flyway或Liquibase等数据库版本控制工具。 有没有任何框架/脚本或方法可以与ES一起使用来实现类似的目标? 有没有人
问题内容: 我对ES非常陌生。我一直在尝试搜索数据库迁移工具,但找不到。我想知道是否有人可以帮助我指出正确的方向。 我将使用Elasticsearch作为项目中的主要数据存储。我想对我在项目中开发新模块时运行的所有映射和配置更改/数据导入/数据升级脚本进行版本控制。 过去,我使用过数据库版本控制工具,例如Flyway或Liquibase。 我可以在ES中使用任何框架/脚本或方法来实现类似目的吗?
这是为什么BigQuery在小数据集上表现不好的问题的后续问题。 假设我有一个大约1百万行的数据集。在我们当前使用的数据库(mysql)中,聚合查询的运行速度非常慢,可能需要大约10秒的时间进行复杂的聚合。在BigQuery上,所需的初始化时间可能会使此查询花费约3秒,比mysql要好,但如果我们需要在1s或更短时间内返回查询,则此工具不适合此作业。 那么,我的问题是,在对中等大小的数据集(如10
我正在努力让Spring JPA Data为我工作,但一直在努力。问题出在这里。 我有两个域类,它们之间有一个简单的一对多关系: 我已经为每个类设置了存储库接口:CardRepository,扩展JpaRepository的用户存储库,两个存储库都注入到服务中 非常基本的设置。someMethod() 出现问题,其中我用它的标识符查询了一个用户,然后尝试获取映射@OneToMany的列表,然后发生
在使用Spring数据存储库时发现一些奇怪的行为。 我写了这些类和接口: 当我尝试测试UserRepositoryImpl时,java。lang.StackOverflowerr被抛出 我发现save()方法存在一些问题。此外,delete()方法会引发stackoverflow。 我已经找到了解决办法。当我更改将存储库接口扩展为(例如)JpaUserRepository的接口的名称时,我的问题就
主要内容:1.离线数仓,2.Lambda架构,3.Kappa架构,4.Smack架构,5.湖仓一体传统数仓 离线数仓 实时数仓 Lambda架构 Kappa架构 Smack架构 数据湖架构 仓湖一体架构 1.离线数仓 2.Lambda架构 Lambda架构是大数据平台里最成熟、最稳定的架构,它的核心思想是:将批处理作业和实时流处理作业分离,各自独立运行,资源互相隔离。 (1)Batch Laye:主要负责所有的批处理操作,支撑该层的技术以Hive、Spark-SQL或MapReduce这类批处