问题标签 [datomic]
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.
clojure - Clojure 和 Datomic 的多租户
Clojure、Datomic 和多租户的当前选项是什么(如果有)?这是利用现有 Java 库有用的事情吗?或者是否有更直接的方式在 Clojure 中应用您自己的解决方案?
我对 Datomic 和 Clojure 完全陌生,并且愿意接受任何关于它们如何有效解决这个问题的新范式。我对所有租户选项都感兴趣,但如果真的需要更多信息,那么在这个早期关头,我倾向于:
- 单数据库
- 多个租户共享同一个表,并通过唯一的租户键对数据进行分区
charts - 绘制 Datomic 事实的价值随时间变化的图表
由于 Datomic 存储事实的断言和撤回,是否可以使用这种内置存储来绘制随时间变化的值,例如价格历史?
limit - Datomic Free 可以处理多少吞吐量?
Datomic 免费版在存储和吞吐量方面可以处理多少数据?据我所知,免费交易者使用 H2 来存储本地嵌入式数据库。
是什么阻止了我在生产中使用它,而忽略了明显缺乏存储冗余和有限数量的对等点 (1)?
clojure - 将实体拆分为不同的分区
我正在开发一个使用 datomic 的 webapp。像每个 web 应用程序一样,我确实有一个用户管理,我想将其作为单独的模块/库提供。
现在我的想法是拥有一个带有电子邮件、密码和启用标志的基本用户模式。然后,使用我的用户库的每个库都会添加额外的域特定用户属性。
所以我会有两个这样的模式:
而使用用户库的库是这样的:
……
现在我看到的问题是我有两个不同的分区应该合并到。有没有办法用datomic解决这个问题?
更新我想得越多,我就越想我只需要在使用库中定义模式并在模式中声明用户库需要什么。
c# - 使用 F# 和 Datomic 构建反应式应用程序的基础知识
我们想展示反应式应用程序的能力(上下文是一个学术项目)。我们的目标是使用 F# 和 Datomic 构建一个包含多个应用程序的项目。该项目由以下部分组成:
- An
event producer
: 生成与模拟人类行为的时间戳相关联的 GPS 坐标。 - 第一个
event listener
连接到返回最近相关 POI 的 POI(兴趣点)数据库。一行由 GPS 坐标和 2 个代表开放时间的时间戳组成。我们可以将此应用程序同化为 Gmail 背后的实时应用程序,该应用程序会扫描最后一个用户谈论雪的电子邮件并显示有关保暖衣服的广告。 - 在Datomic
event listener
中保存每个用户的动作的一秒。 - (可选)查看 Datomic 并尝试查找有关用户的相关信息的应用程序。(通常接近那个 POI、工作时间等)
对于 Datomic 和 F#(或函数式编程)都是新手,我们有一些未解决的问题。
F#:
- 事件生产者产生它的事件并被两个外部应用程序监听(目前在同一台机器上运行)的最佳实践是什么?我们可以使用消息,但这里重要的一点是事件生产者不知道侦听器。
- 将 C# 用于这种代码会更好吗(我们希望 GPS 坐标看起来真实,所以它基本上是几个
randoms
和loops
.
数据:
- 从 F# 查询 datomic 的最佳方法是什么?我们的观点是使用Datomic 的 REST API,因为我们没有看到任何其他方式来做到这一点。欢迎任何关于这个主题的资源来帮助我们弄清楚如何去做。
- Datomic 是 POI 数据库的好选择还是我们应该更喜欢旧的关系数据库?到目前为止,POI 表将是原始的;这意味着我们不会在网格或树中组织 POI 以避免为每个处理的事件查询整个数据库。(我们知道这很糟糕,但现在我们只想让它工作,(让它工作 -> 让它正确 -> 让它快速......对吗?)
欢迎部分回答。如果需要,我们将撰写完整的答案,以帮助未来对该主题感兴趣的人。
maven - 构建通量图时出错:如何在运行“mvn 包”时解决测试期间的错误?
我发现了一些像fluxgraph这样的存储库,它们有一些额外的提交,旨在更新它们以使用更新的tinkerpop blueprints API。我想尽可能地保持最新状态,但是当我检查了以下两个分支中的每一个时:
https://github.com/jeremiahrhall/fluxgraph https://github.com/lucascs/fluxgraph
运行时我得到非常相似的错误输出mvn package
:
https ://gist.github.com/anonymous/06eb83433ac4b046a5f7
引用的各自的surefire-reports文件包含以下内容:
TEST-com.jnj.fluxgraph.FluxGraphTest.xml - https://gist.github.com/anonymous/d8d3e742963d6a51b1d8 - IllegalArgumentException:无法在元素 com.jnj.fluxgraph 的非当前版本上设置属性.FluxGraphTest.txt - https://gist.github.com/anonymous/542c03e1ce5633f044f7
我不知道如何解决这个问题,以便让通量图在其依赖项的更新版本上工作......有人可以帮忙吗?可能有人帮助编写了这些回购协议?
performance - Datomic 是否在运行查询之前将所有数据检索到本地系统(Peer)?
“在应用程序进程空间中运行的原子查询”:这是否意味着必须运行查询的所有数据也必须是本地的?假设我在两个表上运行连接,每个表大小为 1 GB,Datomic 是否首先将 2 GB 的数据检索到将运行查询的 Peer?
如果文档中已经回答了这个问题,我应该 RTFM。
algorithm - 为什么 Datomic 没有 EATV 索引?
我认为任何 DBMS(甚至 Datomic)上的常见操作都是检索给定实体的属性的最新值。例如,给我看乔的(最近的)地址。
鉴于4 个可用索引都以 T 结尾,因此这种常见操作似乎效率不高。例如,使用 EAVT,您必须搜索给定实体属性对的所有值,才能找到具有最新 T 的那个。
这个分析有什么遗漏或错误吗?如果没有,这是否意味着应该有一个 EATV 索引?
clojure - lein REPL 服务器启动超时
在一个基于 liberator 的 clojure 项目中,我们使用 datomic 作为 DB。在将我们的本地开发数据库迁移到 S3 托管的数据库并在我们的 project.clj 上添加所需的依赖项后,我们无法启动 REPL,但 Liberator 堆栈运行良好lein run
我的猜测是数据库连接搞砸了,所以,问题是,我怎样才能以某种方式“调试”或找出这个lein repl
超时的原因是什么?
我的项目.clj
我的profiles.clj
我的 .zshrc
我的环境
clojure - Datomic 能否简化对动态访问的 HTML 文档中包含的数据的查询?
我需要编写一个 API,它可以提供对来自 Web 服务器的 HTML 文档的数据的访问。我需要我的用户能够对数据执行查询。
假设在网站上有一个列出项目及其所有者的页面。然后还有一组额外的所有者个人资料页面,每个所有者都提供有关其声誉的信息。我可能需要回答的一个示例查询是“给我 2013 年提交的所有项目的 ID 和所有者,其所有者的声誉至少为 10”。
给定一个要回答的查询,我需要能够只筛选我需要回答手头查询的网站部分。并且理想地缓存获得的信息以供将来与新查询一起使用。
我编写屏幕抓取部分没有问题,但我在设计存储/查询/缓存部分时遇到了困难。Clojure/Datomic 是否有一些东西使它成为这种数据处理的特别合适的技术选择?我之前已经指出了这个方向。