4

我们想展示反应式应用程序的能力(上下文是一个学术项目)。我们的目标是使用 F# 和 Datomic 构建一个包含多个应用程序的项目。该项目由以下部分组成:

  • An event producer: 生成与模拟人类行为的时间戳相关联的 GPS 坐标。
  • 第一个event listener连接到返回最近相关 POI 的 POI(兴趣点)数据库。一行由 GPS 坐标和 2 个代表开放时间的时间戳组成。我们可以将此应用程序同化为 Gmail 背后的实时应用程序,该应用程序会扫描最后一个用户谈论雪的电子邮件并显示有关保暖衣服的广告。
  • 在Datomicevent listener中保存每个用户的动作的一秒。
  • (可选)查看 Datomic 并尝试查找有关用户的相关信息的应用程序。(通常接近那个 POI、工作时间等)

对于 Datomic 和 F#(或函数式编程)都是新手,我们有一些未解决的问题。

F#:

  • 事件生产者产生它的事件并被两个外部应用程序监听(目前在同一台机器上运行)的最佳实践是什么?我们可以使用消息,但这里重要的一点是事件生产者不知道侦听器。
  • 将 C# 用于这种代码会更好吗(我们希望 GPS 坐标看起来真实,所以它基本上是几个randomsloops.

数据:

  • 从 F# 查询 datomic 的最佳方法是什么?我们的观点是使用Datomic 的 REST API,因为我们没有看到任何其他方式来做到这一点。欢迎任何关于这个主题的资源来帮助我们弄清楚如何去做。
  • Datomic 是 POI 数据库的好选择还是我们应该更喜欢旧的关系数据库?到目前为止,POI 表将是原始的;这意味着我们不会在网格或树中组织 POI 以避免为每个处理的事件查询整个数据库。(我们知道这很糟糕,但现在我们只想让它工作,(让它工作 -> 让它正确 -> 让它快速......对吗?)

欢迎部分回答。如果需要,我们将撰写完整的答案,以帮助未来对该主题感兴趣的人。

4

0 回答 0