The OpenNET Project / Index page

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

Проект по созданию варианта СУБД Redis, переписанного на языке Rust

22.06.2015 10:32

В рамках проекта Rsedis ведётся работа по созданию реализации СУБД Redis, переписанной с использованием языка программирования Rust. Кроме изучения языка Rust разработчики проекта также ставят перед собой цель создания переносимой редакции Redis, которую можно будет использовать на платформе Windows. В настоящее время оригинальный Redis написан на Си и использует некоторые специфичные функции UNIX, что мешает его портированию на другие системы. Несмотря на то, что многие возможности оригинального Redis ещё не реализованы, проект активно развивается и уже вполне пригоден для экспериментов

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск БД Redis 3.0
  3. redis-rs - rust implementation of a Redis client library
  4. OpenNews: Увидел свет язык программирования Rust 1.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42473-redis
Ключевые слова: redis, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (66) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:02, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Вот бы так хоть одна открытая реляционная бд развивалась...
     
     
  • 2.30, Вова (?), 15:11, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Внезапно PostgreSQL так развивается.
     
     
  • 3.36, Аноним (-), 16:21, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    У PostgreSQL своё виденье мира, в котором исключено использование преимуществ оперативной памяти.
     
     
  • 4.42, Вова (?), 18:48, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И какие преимущества оперативной памяти отказывается использовать PostgreSQL?

    Вообще вопрос бы не про это, а про развитие open source СУБД. На примере PostgreSQL можно увидеть что развитие в open source СУБД есть, притом в достаточно высоком темпе.

     
     
  • 5.45, Аноним (-), 18:53, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –5 +/
    PostgreSQL урезанная база и развития в сторону хранения в памяти нет вообще. Не говоря уже про кэширование записи, отсутствие которого напрочь исключает возможность использования ssd в высоконагруженных проектах.
     
     
  • 6.48, Аноним (-), 19:04, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    У нее есть хранение в памяти, развивать его далее, каким то особым образом, на фоне остальных фич и проектов типа того же редиса не приоритетно и может быть даже не целесообразно, с "урезанной" вы явно погорячились)
     
  • 6.53, Stax (ok), 21:16, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы сами-то поняли, что сказали (про кэширование и SSD)?
     
  • 6.56, Аноним (-), 22:27, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так PostgreSQL - это система управления базами данных, а не базами мусора, который и потерять не жалко.
     
  • 5.47, Аноним (-), 19:02, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В memcached данные хранятся в оперативке и отказоустойчивость комплекса можно по... большой текст свёрнут, показать
     
     
  • 6.49, Аноним (-), 19:11, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А PostgreSQL в принципе не приемлет использование оперативной памяти

    Тейблспейсы в памяти и их синканье на диск не?)

     
  • 6.54, Аноним (-), 21:22, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Просто, к сожалению, в современных реалиях она не для всех подходит.

    Ну так юзайте друге БД в чем проблема?
    И правильно делаю что не развивают хранение данных в памяти.

     
  • 4.62, XoRe (ok), 21:16, 23/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > У PostgreSQL своё виденье мира, в котором исключено использование преимуществ оперативной
    > памяти.

    Вы так говорите, как будто в нем нет shared_buffers и effective_cache_size.
    Postgresql рассчитан на то, чтобы по максимому кешировать индексы и данные в оперативке, чтобы не дергать диск.
    Поэтому ваше видение "видения postgresql" вызывает много вопросов.

    Если вам нужно ram only решение, никто не мешает вам использовать tmpfs.

     
  • 3.43, Аноним (-), 18:50, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только вот PostgreSQL ограничивается работой только с жестким диском. Поэтому часто остается MySQL и ее форки, а с ними всё паршиво.
     
     
  • 4.46, Аноним (-), 18:56, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Только вот PostgreSQL ограничивается работой только с жестким диском.

    С чего вы это взяли? во всю юзается системный кеш и табличные пространства в памяти

     
  • 3.63, Аноним (-), 01:12, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Внезапно PostgreSQL так развивается.

    В смысле, его тоже какая-то хипстота из гугла или мозиллы на Go и прочие rust переписывают? Мне кажется, переписывать им не переписывать. На ближайшие 10 лет они будут озадачены.

     
  • 2.31, Аноним (-), 15:13, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Загляните в трекер MySQL или Percona - от такого количества багов у любого руки опустятся. А ораклу в принципе не выгодно развиваться MySQL
     
     
  • 3.64, Аноним (-), 01:13, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Загляните в трекер MySQL или Percona - от такого количества багов у
    > любого руки опустятся. А ораклу в принципе не выгодно развиваться MySQL

    Ну так поэтому есть MariaDB - им разиваться выгодно, в отличие от :)

     

  • 1.2, Бутират (?), 11:02, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    > СУБД Redis

    Утютю. Ну прямо система управления базой данных, а не структурированный кэш

     
     
  • 2.3, Аноним (-), 11:07, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это одно и то же
     
     
  • 3.61, Аноним (-), 15:16, 23/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В ACID твой кэш могёт?
     
  • 2.4, Аноним (-), 11:08, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Посмотрите список доступных команд на офсайте. Управляй нехочу
     
     
  • 3.44, Аноним (-), 18:52, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тем не менее до полноценной СУБД очень и очень далеко, однопоточка - элементарная выборка ключей по маске и приехали, разделить базу на области нельзя (разделение якобы на номера баз - фейк), соответственно просмотр всей базы или поднимай разные инстансы, вложенных выборок и объединений нет, да много чего нет, а вот как продвинутый кеш ключ-структурированное значение - замечательна! тут бесспорно
     
     
  • 4.65, Аноним (-), 01:14, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Тем не менее до полноценной СУБД

    #define "полноценной СУБД"?

    А то может кому полноценно - только Оракль. Мало ли у кого какие понятия о.

     

  • 1.5, близняшко (?), 11:09, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >> Why?
    > To learn Rust.

    grumpy_the_cat.jpg

     
     
  • 2.8, Аноним (-), 11:55, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Почему бы и нет? Честно зато.
     
     
  • 3.17, cmp (ok), 12:54, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А мало бд на всяких js и java'x? юникс-онли места на си не проще переписать?
     
     
  • 4.24, 10й Брейтовский переулок (?), 14:04, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –9 +/
    С/С++ - это ходячий мертвец. Пока ходит, но поддерживать г.мамонта желающих становится все меньше.
     
     
  • 5.41, cmp (ok), 18:10, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    бу-га-га, ну ты дурачек
     
  • 5.66, Аноним (-), 01:16, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > С/С++ - это ходячий мертвец. Пока ходит, но поддерживать г.мамонта желающих становится
    > все меньше.

    Ну ты себе хотя-бы операционку перепиши на чем-нибудь другом, а потом приходи. А до тех пор ты смотришься всего лишь жалким позером от хипстоты, увы и ах.

     

  • 1.6, Аноним (-), 11:34, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    >Кроме изучения языка Rust разработчики проекта также ставят перед собой цель

    Вся суть рустомакак.

     
     
  • 2.67, Аноним (-), 01:17, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Вся суть рустомакак.

    Не любят на опеннете Капитанов. У Go'пно-Rust'аманской хипстоты - сказочный батхерт!!!

     

  • 1.9, Куяврег (?), 11:55, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > и использует некоторые специфичные функции UNIX, что мешает его портированию на другие системы.

    какие "другие"? OS/2?


    > Redis, которую можно будет использовать на платформе Windows.

    понятно. но там было "системЫ". я весь в задумчивости.

     
  • 1.11, Аноним (-), 12:03, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    https:// github.com/seppo0010/rsedis/blob/master/database/src/dbutil.rs

        if pos < 0 {
            pos += len;
        }
        if pos < 0 {
            return Err(0);
        }
        if pos > len {
            return Err(len as usize);
        }

    Мда, туда им и дорога.

     
     
  • 2.19, Аноним (-), 13:42, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >[оверквотинг удален]
    >         pos += len;
    >     }
    >     if pos < 0 {
    >         return Err(0);
    >     }
    >     if pos > len {
    >         return Err(len as usize);
    >     }
    >
    > Мда, туда им и дорога.

    И что тебе не нравится?

     
     
  • 3.26, Evolve32 (ok), 14:40, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ну, может хотя бы так:  
    if pos < 0 {
      pos += len;
      return Err(0);
    } elseif pos > len {
      return Err(len as usize);
    }

    Я Rust не знаю, но, думаю, мысль понятна.

     
     
  • 4.27, Owlet (?), 14:52, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А теперь посмотри ещё раз и подумай, почему твой код не эквивалентен.


    (подсказка: рассмотри pos = -1 len = 2)

     
     
  • 5.57, Аноним (-), 22:43, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    IMHO, процитированный им кусок кода всё равно написан по-дурацки -- для pos >= 0 будет две проверки на отрицательность, хотя вполне можно было обойтись одной, вложив второй "if (pos < 0) ..." в первый:
    if (pos < 0) {
        pos += len;
        if (pos < 0) {
            return Err(0)
        }
    }
     
  • 4.28, EuPhobos (ok), 14:54, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ну, может хотя бы так:  
    > if pos < 0 {
    >   pos += len;
    >   return Err(0);
    > } elseif pos > len {
    >   return Err(len as usize);
    > }
    >
    > Я Rust не знаю, но, думаю, мысль понятна.

    Тут и знать никакие языки не надо, и так понятно что ты испортил конструкцию.
    В оригинале:
    Если pos меньше нуля, прибавляем len
    Если pos ВСЁ РАВНО меньше нуля - возвращаем ошибку
    Ты сделал:
    Если pos меньше нуля, прибавляем len и возвращаем ошибку

     
     
  • 5.40, Evolve32 (ok), 17:31, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >[оверквотинг удален]
    >> }
    >>
    >> Я Rust не знаю, но, думаю, мысль понятна.
    > Тут и знать никакие языки не надо, и так понятно что ты
    > испортил конструкцию.
    > В оригинале:
    > Если pos меньше нуля, прибавляем len
    > Если pos ВСЁ РАВНО меньше нуля - возвращаем ошибку
    > Ты сделал:
    > Если pos меньше нуля, прибавляем len и возвращаем ошибку

    Да, ошибся, поспешил.

     
  • 4.38, Аноним (-), 16:57, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ну, может хотя бы так:  
    > if pos < 0 {
    >   pos += len;
    >   return Err(0);
    > } elseif pos > len {
    >   return Err(len as usize);
    > }
    >
    > Я Rust не знаю, но, думаю, мысль понятна.

    А, ну теперь, конечно, понятна: ты не знаешь не только Rust

     
  • 3.68, Аноним (-), 01:19, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > И что тебе не нравится?

    Ну вот например



        if pos < 0 {
            pos += len;
        }
        if pos < 0 {
            return Err(0);
        }



    ...это так и надо? И тут еще на поттеринга наезжают за дурной код. А тут вона какие экспонаты летают, оказывается :)

     

  • 1.12, Аноним (-), 12:10, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > Кроме изучения языка Rust разработчики проекта также ставят...

    не проще ли купить учебник?
    или в их странах на свободном по на учебник не заработаешь?

     
     
  • 2.23, Аноним (-), 13:58, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > не проще ли купить учебник?

    Мусью уверен, что для раста вообще существуют учебники? И что ЯП действительно можно овладеть, лишь читая учебник?

     
  • 2.35, Нанобот (ok), 16:20, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Единственный способ изучать новый язык программирования — писать на нем программы (Брайан Керниган)
     

  • 1.13, Mr. Cake (?), 12:15, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На Windows же вроде как порт есть силами мелкомягких.
     
  • 1.15, ADMIN (?), 12:30, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Потом, глядишь, sqlite перепишут.
     
     
  • 2.16, xPhoenix (ok), 12:46, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну что, орёл, всё шутки шутишь? Ну ничего, сейчас чай принесут, и мы с тобой продолжим, продолжим...
     

  • 1.18, YetAnotherOnanym (ok), 12:54, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Фееричный пример студенческого NIH-синдрома.
     
  • 1.20, Crazy Alex (ok), 13:48, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Ну нормальная логика - если хочешь по-настоящему изучить язык - напиши на нём что-то. Другое дело, что на новость это определённо не тянет.
     
     
  • 2.21, Andrey Mitrofanov (?), 13:50, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну нормальная логика - если хочешь по-настоящему изучить язык - напиши на
    > нём что-то. Другое дело, что на новость это определённо не тянет.

    Ну, первого сентября "дети пошли в школу" -- по всем каналам...

     
  • 2.69, Аноним (-), 01:21, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > нём что-то. Другое дело, что на новость это определённо не тянет.

    Вот имено. Давайте блин напишем новость про то что я прямоугольник в CAD ухитрился начертить. Это же новость вселенского масштаба. Примерно как эта rust-o-мания.

     

  • 1.22, Аноним (-), 13:58, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем может понадобиться база под Windows?
     
     
  • 2.33, тоже Аноним (ok), 15:39, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Странный вопрос. Как же под винды без базы?
    ДотНетчики, собственно, знают только два способа сохранить что-нибудь на компьютере - это реестр и MSSQL.
     
     
  • 3.39, Аноним (-), 17:02, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только связки с Оракл полно, т.к. под показывание цифирок и кручения графиков разных особо удобных инструментов не так много ( когда-то пробовал Qt но слой работы с данными и визуализация ( набор компонентов ) там сильно страдают ).
     

  • 1.25, Аноним (-), 14:33, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Лучшеб SQL добавили... Обе задумки, а именно переписывание на Rust чтобы было на Rust и создание переносимой реализации ради запуска под Windows - абсурдны, это просто пустая трата времени.
     
     
  • 2.29, asargis (?), 14:54, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не вашего времени? Тогда нечего предъявлять претензии. Человек учит новый язык на примере переписывания Redis.
     
     
  • 3.32, Аноним (-), 15:29, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Лучше бы биллинг написал или cms
     
     
  • 4.34, тоже Аноним (ok), 15:41, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    ... чем этот комментарий.
    Так встань и иди писать биллинг!
     
     
  • 5.50, Аноним (-), 19:37, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я ж не студент, изучающий хруст
     
     
  • 6.58, Аноним (-), 22:47, 22/06/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Я ж не студент, изучающий хруст, а эксперт (т.к. сейчас -- летние каникулы, а у бабушки игрового компа нема и взять с собой разрешили только планшет!1!)
     
     
  • 7.59, Аноним (-), 07:30, 23/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Дык зачем тебе игровой комп чтобы кодить на Rust
     
  • 2.70, Аноним (-), 01:22, 24/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучшеб SQL добавили...

    Вам без них мало SQL-ных баз?

     

  • 1.37, Аноним (-), 16:25, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а кто-нибудь здешних уже писал что-либо не хеловорное на RUST?

    пс:
    Ещё Иван Сагалаев судя по его форуму, свою библиотеку таким же методом портируя-учась пишет под RUST  

     
  • 1.51, Аноним (-), 20:10, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В коментах куча красавцев с мнением ...
     
  • 1.52, th3m3 (ok), 20:55, 22/06/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А чего их не устраивает уже готовая реализация? Или дайте ка я что-нибудь перепишу на Rust? Тогда бы уже пилили какие-то новые вещи, а не занимались ерундой.
     
     
  • 2.60, Есюки (?), 08:57, 23/06/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Или дайте ка я что-нибудь перепишу на Rust?

    Кишка тонка у тебя, парень.

     

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



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

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