The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проект Redka развивает реализацию протокола и API Redis поверх SQLite

15.04.2024 09:43

Опубликованы первые выпуски проекта Redka, нацеленного на предоставление RESP-протокола и API, совместимых с СУБД Redis, но реализованных поверх библиотеки SQLite. Задействование SQLite дополнительно позволяет обращаться к данным при помощи языка SQL, например, для формирования отчётов или анализа данных. Поддерживается использование ACID-транзакций. Redka может запускаться в форме сервера, принимающего запросы по сети, или использоваться в виде модуля для языка Go. Код проекта написан на языке Go и распространяется под лицензией BSD.

В настоящее время в Redka добавлена поддержка типов для работы со строками и хэшами, а также команд для манипуляции строковыми данными, ключами, транзакциями и хэшами. Например, доступны команды для установки и получения одного или нескольких привязанных к ключу строковых значений, задания времени жизни ключей, инкремента/декремента значений, поиска ключей по шаблону, переименования ключей, выполнения серии команд в рамках транзакции, отмены транзакции, работы с полями в хэшах.

В ближайшее время планируется добавить поддержку списков, коллекций (sets) и отсортированных коллекций. В отдалённой перспективе ожидается реализация алгоритма HyperLogLog, возможности для манипуляции географическими координатами и команд для взаимодействия с использованием модели publish/subscribe. Пока не планируется добавлять поддержку скриптов на языке Lua, аутентификацию, ACL, watch/unwatch и возможность работы в одном сервере с несколькими БД. Точно не будет реализована поддержка кластеров (Redis Cluster) и мониторинга (Redis Sentinel).

Тестирование производительности с использованием инструментария от проекта Redis, показало, что Redka в 2-6 раз отстаёт от Redis из-за отсутствия специфичных оптимизаций для хранения данных в формате ключ/значение. В частности, в созданном тестовом окружении Redis продемонстрировал производительность в 133 тысяч операций SET в секунду и 139 тысяч операций GET в секунду, в то время как производительность Redka составила 30 тысяч SET в секунду и 63 тысячи GET в секунду в ситуации, когда БД размещалась в оперативной памяти. При хранении БД на диске производительность Redka составила 22 тысячи операций SET в секунду и 56 тысяч GET в секунду.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск Redict 7.3.0, форка СУБД Redis
  3. OpenNews: Amazon, Google, Oracle, Ericsson и Snap основали Valkey, форк СУБД Redis
  4. OpenNews: СУБД Redis переходит на проприетарную лицензию. Обсуждение удаления Redis из Fedora
  5. OpenNews: Microsoft открыл код хранилища Garnet, совместимого с Redis
  6. OpenNews: Первый стабильный выпуск FerretDB, реализации MongoDB на базе СУБД PostgreSQL
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60992-redka
Ключевые слова: redka, redis, sqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 10:13, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Типичный пример не подходящего использования скулайта. Сделали потому что могут. И так почти везде где применяется скулайт.  
     
     
  • 2.7, Аноним (7), 10:29, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Еще и в два раза медленее
     

  • 1.6, Аноним (6), 10:24, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > Redka в 2-6 раз отстаёт от Redis

    Это вин, ящитаю. Потрудились на славу.

     
     
  • 2.8, Аноним (7), 10:30, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Лучшие гошники трудились. Странно что в название проекта нет названия языка
     
     
  • 3.9, Аноним (9), 10:36, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну может оно хоть нормально в кроссплатформ будет наконец-то
     
  • 3.36, Placeholder (ok), 18:36, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А при чем тут го? Редис это nosql хранилище без транзакций которое работает в памяти, sqlite хранит данные на диске и имеет транзакции. Тут вообще странно что разница не в 10 раз, скорее всего на практике разница будет еще более существенной. Поэтому и закономерный вопрос на кой лях оно вообще надо? Редис хорош для всяких там кэшей и прочих вещей которым нормально быть временными и нужно быть быстрыми. Зачем очень простой, до примитивного, протокол натягивать поверх скуля, у меня представить фантазия отказывается.

    Почему кот яйца лижет? Потому что может. Почему редис протокол натянули поверх скуля?

     
     
  • 4.37, Аноним (37), 21:49, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >работает в памяти

    Ага, и сохраняет данные на диск

    >очень простой, до примитивного, протокол

    Про Redis ты не знаешь ни чего, от слова совсем. Погляди на этот "примитивный" протокол
    https://redis.io/docs/latest/commands/
    https://redis.io/docs/latest/develop/data-types/

    >Редис хорош для всяких там кэшей и прочих вещей которым нормально быть временными

    Ты с memcached попутал. На Redis уникальную бизнес логику пишут со встроенными процедурами (lua)

     
     
  • 5.38, Tron is Whistling (?), 21:52, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > На Redis уникальную бизнес логику пишут со встроенными процедурами (lua)

    И упаси потом это поддерживать...

     
     
  • 6.39, Аноним (37), 00:15, 16/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >И упаси потом это поддерживать...

    Я так понимаю, что тебе ни кто и не предлагает

     
     
  • 7.41, Tron is Whistling (?), 08:46, 16/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тьфу-тьфу, нет, никто не предлагает. Все, с кем общаюсь - в здравом уме.
     
  • 5.43, Placeholder (ok), 21:15, 16/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, и сохраняет данные на диск

    Делает дампы. А может и не делать. Суть в том что никакой персистентности данных он не обещает, в отличие от транзакционных баз.

    >Ты с memcached попутал. На Redis уникальную бизнес логику пишут со встроенными процедурами (lua)

    Упырь шизу свою пожалуйста.

     
  • 2.33, михаилка (?), 17:30, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    нужно смотреть на задержки еще... для юзкейзов редиса это порой важнее
     

  • 1.13, Аноним (13), 10:45, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Планов громадьё, но полной совместимости не достичь. Поэтому, сами знаете что делать.
     
  • 1.18, Аноним (18), 11:47, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пусть будет, хоть и притормаживает, но не на расте же написан. Оптимизации и в дальнейшем можно будет провести.
     
  • 1.19, EULA (?), 11:48, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Redka в 2-6 раз отстаёт от Redis

    Редька? Больше на Редиску похоже.

    Капча 10401 согласна.

     
  • 1.20, Хухрымухры (ok), 12:21, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это для мелкихъ pet projects.
     
  • 1.21, Аноним (21), 12:45, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Иногда смотришь такие новости о подобных проектах и не понимаешь, не складывается:
    А где это применимо? Какие реальные задачи решаются?.. такими симбиозами..
    Какие продакшы крутятся..

    Странно всё это очень

     
  • 1.23, Карлос Сношайтилис (ok), 13:39, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Непонятен кейс использования.
    Это для тех, кто уходит с редис на реляционные бд или наоборот?

    И почему выбрана именно SQLite? В постгре можно через экстеншены сделать, то есть это почти нативная нашлёпка была бы.

     
     
  • 2.26, Аноним (6), 14:21, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Непонятен кейс использования

    Кейс юзейджа анклир.

    > И почему выбрана именно SQLite?

    Потому что осилили только его. Скулайт годится лишь для хранения браузерных закладок. То есть его, как ты говоришь, "кЕйС" (К-е_Й-с) -- обрабатывать от силы пару запросов в минуту.

     
  • 2.30, 1 (??), 15:24, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Непонятен кейс использования.

    лень тебе на малинку водружать кубертенис - вот от одного докера избавились.

     

  • 1.25, cheburnator9000 (ok), 14:17, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Называть Redis СУБД это быть истинным садомазо извращенцем. Это Кеш БД и по сути не более того, ну там еще message broker прилепили сбоку погоды не делает. Redis не гарантирует что данные, лежащие на диске, соответствуют актуальному состоянию БД. Режим восстановления вы сами пишите? Или просто дублируете все в PostgreSQL в фоновом режиме? Тогда нахрена вам редис как субд? Вообще шиза.
     
     
  • 2.31, Аноним (7), 15:37, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    СУБД - это система управления базой данных. Редис управляет k/v база данных. Так что все тут ок. Его никто никогда не называл реляционной системой управления базой данных. Итого, он СУБД, он не реляционная
     

  • 1.27, Аноним (27), 14:24, 15/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Одни сделали монгу поверх постгрес, теперь вот это.
     
  • 1.40, Доктор (??), 01:16, 16/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Redis в коробочку положили, и форки как гибы пошли.
    Может то что произошли с Redis не плохо, а лакмусовая бумажка "НУЖНО".
    с keydb бегают, живенько как-то. Редиски стали расти.
     
  • 1.42, mos87 (ok), 12:43, 16/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Взять чисто нетабличную БД чтобы прикидываться ею, используя табличную.

    The story of IT.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру