Здравствуйте, уважаемые тостеровцы. Снова нужна Ваша помощь :) Мне нужна БД с низким latency, которая сможет работать с относительно небольшим объемом данных 100-300к строк, но самое главное, которая сможет фильтрировать эти строки по 12-15 параметрам и выдавать результат меньше чем за 5мс. После многих часов в гугле, наткнулся на такую вещь как In-Memory Database и In-Memory Data Grid. Нашел больше десятка вариантов, но никак не могу подобрать нужную мне.
Ключевые требования:
- Низкая задержка выполнения запроса
- Персистентность данных (нечто наподобие Write Ahead Log)
- Наличие более-менее удобного клиента для .net core
Пробовал Redis и Tarantool, но они мне не подошли. Редис скорее пригоден для кэша. Тарантул мне понравился больше, задержка отличная, часто меньше 1 мс, но я с ним третий день уже ковыряюсь, и останавливают несколько моментов, а именно, отсутствие некоторых типов данных, низкоуровневый клиент для .net core и не самая подробная документация.
Такие вот дела. В идеале, надеюсь услышать от Вас названия крутых и удобных IMDB и IMDG :)
Заранее всем большое спасибо!
Попробуйте библиотеку для вашего языка программирования, а не СУБД.
Будет даже быстрее, чем с внешней СУБД.
Тарантул мне понравился больше, задержка отличная, часто меньше 1 мс, но я с ним третий день уже ковыряюсь, и останавливают несколько моментов, а именно, отсутствие некоторых типов данных, низкоуровневый клиент для .net core и не самая подробная документация.
Полагаю, это просто "вход". Потом разберетесь - лучше пойдет.
Документация там вполне себе подробная.
stratosmi, Хочется использовать SQL для манипуляции данными и для запросов. Тарантул со второй версии поддерживает SQL, но я так и не смог понять, как хранить в SQL таблице данные типа bool, decimal и timestamp. Плюс еще и у клиента (progaudi) не нашел подробную документацию. А так мне тарантул понравился, довольно шустрый и легкий
Тарантул со второй версии поддерживает SQL, но я так и не смог понять, как хранить в SQL таблице данные типа bool, decimal и timestamp.
Не стоит, имхо.
Без SQL мы имеем Tarantool очень быстрым, проверенный годами, развитый функционал.
Но SQL - там только только появился. И я бы не рассчитывал на него. Судя по тому как авторы описывают свою СУБД - видел конференции - заточено на скорость и если что то снижает скорость, то у них не реализовано. Так что полного функционала SQL я бы не ожидал там увидеть
У Tarantool есть проверенный годами механизм - хранимые процедуры на языке Lua. Это действительно работает и действительно быстро.
Вы можете реализовать там любые механизмы манипуляции с данными и получать сразу готовые результаты.
Плюс еще и у клиента (progaudi) не нашел подробную документацию
Можно посмотреть у клиента под другой язык.
Там очень простой набор функций. Их раз-два и обчелся.
Заточено на то, что все сложные вещи делаются внутри самого Тарантула на языке Lua.