LINUX.ORG.RU

Язык для финансового проекта

 , ,


0

2

Появилась идея финансового проекта с большим колличеством данных (в основном ключ-значение), и математическими вычислениями. В виду большой нагрузки, потребуется легкость в масштабировании. Какие языки подойдут? Смотрю в сторону java, т.к. у его есть отличные библиотеки для вэба и c++ для мат. вычислений. Из баз - Redis.

Является ли мой выбор верным?



Последнее исправление: FriendlyFox (всего исправлений: 1)

Java — безусловно, хороший выбор (не только она сама, но и JVMв целом). Чем больше проект, тем ярче она раскрывается, да и вообще, она чуть ли не современный стандарт в финансах — распределенность (от тредов до JMS и дальше), куча наработаных практик, кроссплатформенность. Да и громадный выбор библиотек — в первую очередь, открытых — просто так откидывать не стоит.

С C++ на первых порах можно совсем не связываться, т.к. код, вызванный по JNI, может оказаться медленнее родного. Может статься, что проще купить новый сервер, чем заморачиваться с нативным программированием и оптимизацией вызовов.

Про Redis непонятно. По идее, финансы+распределенность однозначно ведут к транзакциям. С SQL-ем все понятно, и теория, и практика нарабатывались не один год, так что с ним проблем быть не должно. Сомнительно, что у Redis-а все так же радостно, но нужно смотреть по обстоятельствам — может, он и подойдет.

anonymous
()

Смотри в сторону Hadoop, Scala, Akka

anonymous
()

Появилась идея финансового проекта с большим колличеством данных ...

прочитал как «Появилась идея финансового проекта с большим колличеством денег» :-D

user_id_68054 ★★★★★
()
Ответ на: комментарий от anonymous

С C++ на первых порах можно совсем не связываться

если нет сильной вменямой команды, то лучше вообще не связываться

shty ★★★★★
()
Ответ на: комментарий от user_id_68054

Пора уже перейти от

колличествa

к каччеству :-)

sdio ★★★★★
()
Ответ на: комментарий от anonymous

Спасибо, почитал про редис в сети - база хранится в памяти, однако возможны снимки через равные промежутки времени и постоянная запись в журнал, что делает ее «тяжелой». На оракл тратиться на ранних этапах тоже нет смысла (дорогая игрушка)

FriendlyFox
() автор топика
Ответ на: комментарий от FriendlyFox

Очень легок . И пусть не пугает тебя не си подобный синтаксис с отступами, когда попробуешь поймешь как это удобно. А главное код написанный на python легко читается, он скажем так семантически прозрачен. Ну и масса математический библиотек , причем первоклассных , например numpy

yanka ★★
()

идея финансового проекта

Стоит ли здесь вопрос доверия этой системе денег?

O02eg ★★★★★
()
Ответ на: комментарий от FriendlyFox

Спасибо, почитал про редис в сети - база хранится в памяти, однако возможны снимки через равные промежутки времени и постоянная запись в журнал, что делает ее «тяжелой»

интервалы времени и способ журналирования настраиваются. Другое дело, что из-за хранения данных в памяти редис в случае с большими объемами и/или высокой ценностью информации используют в качестве (масштабируемого) кэша перед SQL-базой

annulen ★★★★★
()
Ответ на: комментарий от FriendlyFox

Легок в обучении питон?

Легок. Но писать на нем программу больше, скажем, 20kLoC, я бы не стал.

tailgunner ★★★★★
()

Java однозначно. Базы любые, смотри по простоте администрирования. Если свободные, то MySQL, PostgreSQL. На NoSQL особо не смотри, они вебовские (это когда данных много и транзакции тяжелые). В финансах обычно данные в память влазят, так что данные засовывай в память и проблем с перфомансом не будет, базу используй для долговременного хранения + реляционки позволяют легко делать отчеты. Еще почитай про архитектуру LMAX.

C/C++ тоже стоит, но только для ultra low latency.

dizza ★★★★★
()
Ответ на: комментарий от anonymous

По идее, финансы+распределенность однозначно ведут к транзакциям

Финансы это в первую очередь low-latency, что оказывается противоречит транзакционности. Такие дела.

dizza ★★★★★
()
Ответ на: комментарий от dizza

Low-latency это совсем не в первую очередь, по крайней мере, не для всех задач. Финансы - это вообще очень разный набор задач, далеко не все из которых требуют какого-либо real-time. Есть задачи, которые запускаются пару раз в день (реконциляции), есть в раз неделю. Для многих задач задержка в минуту-две совершенно не критична.

roy ★★★★★
()
Ответ на: комментарий от roy

Да, верное замечание, есть конечно куча разных задач.

dizza ★★★★★
()
Ответ на: комментарий от FriendlyFox

На оракл тратиться на ранних этапах тоже нет смысла (дорогая игрушка)

Для девелоперов он вполне разумно стоит (ноль-целых-хрен-десятых, то бишь бесплатен). На промышленное использование какой-нибудь Oracle Database Standard Edition тоже вполне себе терпимо, если ты делаешь коммерческий проект (1300$ на ядро)ю

no-dashi ★★★★★
()
Ответ на: комментарий от dizza

Финансы это в первую очередь low-latency

Вы путаете торги и продажи с финансами :-)

no-dashi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.