3

我很难理解使用 JuliaDB 作为生产网站的主要后端数据库的利弊。

https://juliadb.org/

我的用例是一个协作数据科学平台。客户每天请求 100 万唯一访问者和 100 000 次写入。嗯...我希望如此。

实现 SQL 数据库意味着我需要将用于微积分的数据科学数据帧“翻译”成 SQL 并向后翻译。

另一方面,JuliaDB 是一个端到端的解决方案。

关于网站生产数据库的不同标准:

Julia 原生具有并发性:

Julia 支持并发和并行编程的三种主要功能类别:

异步“任务”或协程多线程分布式计算 Julia 任务允许暂停和恢复 I/O、事件处理、生产者-消费者进程和类似模式的计算。任务可以通过等待和获取等操作进行同步,并通过通道进行通信。

多线程功能建立在任务之上,允许它们同时在多个线程或 CPU 内核上运行,共享内存。

最后,分布式计算可能在不同的机器上运行具有独立内存空间的多个进程。此功能由分布式标准库以及 MPI.jl 和 DistributedArrays.jl 等外部包提供。

另一方面,JuliaDB 文档告诉他们支持并行计算,但没有提供太多细节。

JuliaDB 是否可以处理并行连接和异步操作,使其对大量并行使用它的用户具有高性能?

4

1 回答 1

1

从您的问题看来,您需要的是大规模并行数据摄取机制。您的软件架构允许同时为大量用户收集数据。也许您应该看看提供水平扩展能力的 noSQL 数据库之一,很好的例子可能是 MongoDB(或者可能是云等价物,例如 DynamoDB)。

如果您的数据量和并行度更高,您应该考虑流式解决方案,例如 Apache Kafka。

另一方面,JuliaDB 完全在处理工作流的另一个站点上。一旦收集到大量数据,它就会进入分析过程。近年来,最流行的工具是使用 Apache Spark 进行处理的 Hadoop 堆栈。

JuliaDB 为数据工作流的分析步骤带来了新的范式。使用此工具,您可以大规模并行处理大量数据,因此您应该将 JuliaDB 视为 Spark 的一个不错的替代品。

于 2020-10-04T19:39:57.083 回答