Чего не хватает в JuliaDB, чтобы использовать ее в качестве производственной базы данных на бэкэнде веб-сайта?

Мне трудно понять плюсы и минусы использования JuliaDB в качестве основной серверной базы данных для рабочего веб-сайта.

https://juliadb.org/

Мой вариант использования — платформа для совместной работы с данными. Клиент запрашивает 1 миллион уникальных посетителей и 100 000 записей в день. Ну... хотелось бы.

Внедрение базы данных SQL означает, что мне нужно перевести кадры данных науки о данных, используемые для исчисления, в SQL и обратно.

С другой стороны, JuliaDB — это комплексное решение.

Что касается различных критериев для производственной базы данных веб-сайта:

Джулия изначально имеет параллелизм:

Julia поддерживает три основные категории функций для одновременного и параллельного программирования:

Асинхронные задачи, или сопрограммы Многопоточность Распределенные вычисления Задачи Julia позволяют приостанавливать и возобновлять вычисления для ввода-вывода, обработки событий, процессов производитель-потребитель и подобных шаблонов. Задачи могут синхронизироваться с помощью таких операций, как ожидание и выборка, и обмениваться данными через каналы.

Функциональность многопоточности основывается на задачах, позволяя им выполняться одновременно более чем в одном потоке или ядре ЦП, разделяя память.

Наконец, распределенные вычисления запускают несколько процессов с отдельными пространствами памяти, возможно, на разных машинах. Эта функциональность предоставляется стандартной библиотекой Distributed, а также внешними пакетами, такими как MPI.jl и DistributedArrays.jl.

С другой стороны, документ JuliaDB сообщает, что они поддерживают параллельные вычисления, но не дает подробностей.

Может ли JuliaDB обрабатывать параллельные соединения и асинхронные операции, делая ее производительной для многих пользователей, использующих ее параллельно?


person Morgane    schedule 04.10.2020    source источник


Ответы (1)


Из вашего вопроса видно, что вам нужен массивно-параллельный механизм приема данных. Вы создаете программную архитектуру, позволяющую одновременно собирать данные для огромного количества пользователей. Возможно, вам следует взглянуть на одну из баз данных noSQL, которые обеспечивают возможность горизонтального масштабирования. Хорошим примером может быть MongoDB (или, возможно, облачный эквивалент, такой как DynamoDB).

Если ваш объем данных и параллелизм еще выше, вам следует рассмотреть решение для потоковой передачи, такое как Apache Kafka.

С другой стороны, JuliaDB находится совершенно на другом участке рабочего процесса обработки. Как только ваши массивные данные собраны, они попадают в аналитический процесс. В последние годы наиболее популярным инструментом был стек Hadoop с использованием Apache Spark для обработки.

JuliaDB предлагает новую парадигму на этапе аналитики рабочего процесса данных. С помощью этого инструмента вы можете массово распараллелить обработку огромных данных, поэтому вам следует рассматривать JuliaDB как хорошую альтернативу Spark.

person Przemyslaw Szufel    schedule 04.10.2020