问题标签 [schemaless]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reporting - 无模式数据仓库和报告
我们有一个系统,它会因电话/网络请求/短信/电子邮件等而生成许多事件,这些事件中的每一个都需要能够存储并可用于报告(对于 MI/BI 等),每个这些事件中有许多变量,不适合任何一种特定方案。
事件文档的结构是一个键值对列表(cdr=1&name=Paul&duration=123&postcode=l21)。目前,我们有一个 SQL Server 系统,它使用动态生成的稀疏列来存储我们的(平面)文档,其中我们有针对数据运行的报告,出于许多不同的原因,我正在寻找其他解决方案。
我正在寻找一个系统(开放或封闭)的建议,该系统允许我们将这些事件推入(无论模式如何)并在其之上提供报告和分析。
我见过 Pentaho 和 Jasper,但大多数似乎都连接到系统以从中获取数据,然后对其进行报告。我真的只是希望能够将文档推入并使其可供报告。
尽管我很喜欢 CouchDB,但我正在寻找一个允许无模式提交数据并在其之上进行报告的系统(很像 Pentaho、Jasper、SQL Reporting/Analytics Server 等)
python - 存储时间序列数据的最佳开源解决方案是什么?
我有兴趣监视一些对象。我希望每 15 分钟获得大约 10000 个数据点。(也许一开始不是,但这是“一般的球场”)。我还希望能够获得每日、每周、每月和每年的统计数据。将数据保持最高分辨率(15 分钟)两个月以上并不重要。
我正在考虑存储这些数据的各种方法,并且一直在研究经典的关系数据库或无模式数据库(例如 SimpleDB)。
我的问题是,这样做的最佳方法是什么?我更喜欢开源(免费)解决方案,而不是昂贵的专有解决方案。
小提示:我正在用 Python 编写这个应用程序。
python - Google App Engine 数据存储区中的实体组
所以我有一个应用程序,老实说,它并不真正需要事务完整性(很多更新,没有一个是关键的)。所以我打算暂时将实体组搁置一旁。但我仍然想了解它(来自关系背景)。
在我看来,对我的应用程序的所有查询都将逐个用户进行。因此,根据文档建议,我不需要将任何高于用户实体的分组。但我并不打算拥有一个特定的用户实体,而是依赖实体本身中的 UserProperty。
在我看来,如果我想要交易(基于每个用户),我将需要某种根用户实体作为所有实体的父级,这些实体是她的数据层次结构的一部分,无论这个实体有多薄实际上,即基本上没有属性。
它是否正确?
为冗长而道歉,我只是在今晚的实践中真正了解了无模式实际上意味着什么......
database - 什么是 couchdb,我应该使用什么以及如何使用它?
我听到了很多关于couchdb的信息,但是在阅读了一些关于它的文档之后,我仍然不明白为什么要使用它以及如何使用它。
你能帮我解开这个谜吗?
orm - 访问无模式数据的最佳实践?
我正在玩弄 RDF,尤其是如何访问存储在 rdf 存储中的信息。与传统关系数据库的巨大区别在于缺少预定义模式:在关系数据库中,您知道表具有这些列,并且您可以在技术上将每一行映射到类的实例。该类具有明确定义的方法和明确定义的属性。
在无模式系统中,您不知道哪些数据与给定信息相关联。这就像拥有一个包含任意数量且未预定义的列数的数据库表,并且每一行都可以在任意数量的这些列中包含数据。
与 ObjectRelational Mappers 类似,还有 Object RDF 映射器。RDFAlchemy 和SuRF 是我现在玩的两个。基本上,它们为您提供了一个 Resource 对象,其方法和属性是动态提供的。这有点道理……然而,这并不容易。在许多情况下,您更喜欢有一个定义良好的接口,并在您设置和获取模型对象上的数据时更好地控制正在发生的事情。从某种意义上说,拥有这样的通用访问权限会使事情变得困难。
我注意到的另一件事(也是最重要的)是, 即使总的来说,无模式数据有望提供有关资源的任意信息,实际上您或多或少知道倾向于在一起的“信息类别”。当然,您不能排除附加信息的存在,但在某些情况下,这是例外情况,而不是常态,尽管例外情况足够合理,以至于对于严格的模式来说太具有破坏性了。在一篇文章的 rdf 表示中(例如,在 RSS/ATOM 提要中),您知道所描述资源的术语,并且可以将它们映射到定义明确的对象。如果您提供附加信息,您可以定义一个扩展对象(从基础对象继承)来提供对增强信息的访问器。所以从某种意义上说,你可以通过“面向模式的对象”来处理无模式数据,你可以在您想查看您感兴趣的特定附加信息。
我的问题与您对无模式数据存储的实际使用实践的经验有关。它们如何映射到面向对象的世界,以便您可以熟练地使用它,而不会太接近无模式存储的“裸机”?(用RelDB的话,不用太多SQL直接搞乱表结构)
访问是否注定是非常通用的(例如,SuRF“插件属性”是您可以访问数据的最高、最专业的级别),或者为特定商定的方便模式提供专门的类也是一个好方法,但是引入有大量类来访问新的和意外的相关数据的风险?
ruby-on-rails - 开始使用友好的 ORM
我正在关注本教程: http: //friendlyorm.com/
我正在使用 InstantRails 在本地运行 MySQL。为了运行 Ruby 和 Rails,我使用的是普通的 Windows 安装。
当我运行时,Friendly.create_tables!
我只返回一个空数组:=> []
并且在我的“friendly_development”数据库中没有创建任何表。
ruby-on-rails - 友好的 ORM 可以与传统的数据库模式一起使用吗?
我可以将 ActiveRecord 用于现有模型而将 Friendly 用于新模型吗?
基本上,我想决定哪些模型我想成为无模式的,哪些模型我想完成“旧”风格。
django - Django 和 NoSQL,任何现成的库?
到目前为止,Django 与几个 RDBMS 有很好的集成。NoSQL、无模式和面向文档的 DBMS 正在兴起。这些流行的 DBMS 与 Django 的集成情况如何?是否有任何可用于 Django 的生产就绪或至少可以使用的库?
到目前为止,我手头有这些:
mysql - 这个模式听起来更适合面向文档的数据存储还是关系?
免责声明:让我知道这个问题是否更适合 serverfault.com
我想存储有关音乐的信息,特别是:
- 流派
- 艺术家
- 专辑
- 歌曲
此信息将在 Web 应用程序中使用,我希望人们能够看到与专辑关联的所有歌曲、与艺术家关联的专辑以及与流派关联的艺术家。
我目前正在使用 MySQL,但在我决定切换之前,我想知道:
- 水平缩放有多容易?
- 是否比基于 SQL 的解决方案更易于管理?
- 我想存储的上述数据会不会太难做无模式?
- 当我想到关联时,我立即想到 RDBMS;数据可以存储在 CouchDB 之类的东西中,但仍然具有如上所述的某种关联吗?
- 我的 Web 应用程序需要复制,CouchDB 或其他人如何处理这个?
sql - 少架构 SQL 数据库表 - 实际折中
这个问题试图为这个问题找到一个实际的解决方案。
我的 SQL 数据库需要一个半模式少的设计。但是,我可以限制将其硬塞到整个 SQL 范式中的灵活性。迁移到无模式数据库可能是未来的一种选择,但现在,我坚持使用 SQL。
我在 SQL 数据库中有一个表(我们称之为Foo
)。当添加一行时,它需要能够存储任意数量的“元”字段。一个例子是能够附加任意元数据,如标签、合作者等。所有字段都是可选的,但问题是它们属于不同的类型。有些可能是数字,有些可能是文本等。
一个简单的设计链接Foo
到带有 , , , 等字段的表格似乎很直接OptionalValues
,尽管它下降到 Alex 在最后一个答案中提到的整个EAV模型中,而且看起来很浪费。另外,我想当它增长时,查询会很慢。不过,我不希望按此表中的任何内容进行搜索或排序。我所需要的是,当我从 中取出一行时,这些额外的属性也应该是可以获得的。name
value_type
value_string
value_int
value_date
Foo
在 SQL 数据库中实现这种设置是否有任何最佳实践,或者我只是错误地看待整个事情?