JuliaDB 在将其用作网站后端的生产数据库时缺少什么?

What is missing in JuliaDB to use it as production database in a website backend?

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

https://juliadb.org/

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

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

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

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

Julia 本身具有并发性:

Julia supports three main categories of features for concurrent and parallel programming:

Asynchronous "tasks", or coroutines Multi-threading Distributed computing Julia Tasks allow suspending and resuming computations for I/O, event handling, producer-consumer processes, and similar patterns. Tasks can synchronize through operations like wait and fetch, and communicate via Channels.

Multi-threading functionality builds on tasks by allowing them to run simultaneously on more than one thread or CPU core, sharing memory.

Finally, distributed computing runs multiple processes with separate memory spaces, potentially on different machines. This functionality is provided by the Distributed standard library as well as external packages like MPI.jl and DistributedArrays.jl.

另一方面,JuliaDB 文档说他们支持并行计算,但没有给出太多细节。

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

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

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

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

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