15 июл

SQL. Всё-таки Да или Нет ?

point
6

16.jpg

В последнее время всё больше набирает обороты движения в сторону отказа от использования обычных баз данных в пользу распределенных или in-memory хранилищ данных. Большие компании (Google, Amazon, Facebook) намекают нам, что традиционные RDBMS уже немодно. Но перед тем как пойти на поводу у них, следует взвесить все за и против.


Пример хорошей взвешенной статьи на эту тему опубликован у Nati Shalom (осторожно, заморский язык).

Если спустится на уровень технических вопросов, то замена SQL сервера на in-memory эквивалент приведет к необходимости "ручками" создавать и поддерживать необходимые вторичные индексы, определять агрегирующие процедуры и многое другое. Интересная дискусия на эту тему происходит у уважаемого мной ЖЖ-юзера Алексея Рыбака. Кстати, там засветились многие интересные авторы, в частности Андрей Смирнов.


Категории:



Стоит почитать


Добавь свой

Комментарии (6)

  • 8a6f956939230237e525d454977eb196?d=identicon&s=80
    #1zenyk
    July 15, 2009, 11:45:45
    Я використовував GigaSpaces, про який пише Наті Шалом на одному проекті. Дійсно - швидкодія рве все інше в пух і прах. Але ціна тоже. Ціна за один процесор десь 4k-7k $$. Якщо врахувати що необхідно декілька серваків, плюс HA, одні лише ліцензії потягнуть п'ятизначну, а то і шестизначну суму.
    Плюс це зовсім інше API. Там використання SQL дуже обмежене. GS за звичай використовують не так як для збереження данних, а для обробки. Якщо цікаво то подивіться до сценаріїв використання processing units.
    Щодо
    Ответить
  • 8a6f956939230237e525d454977eb196?d=identicon&s=80
    #2zenyk
    July 15, 2009, 11:46:46
    (друга частина - розмір коментаря обмежений :) )
    Щодо RDBMS в Google, Amazon, Facebook - тут ситуація інша. SQL бази даних після певного порогу просто напросто не масштабуються. Був на одному проекті де також перейшли до key-value store бо бідняжка MySQL вже не вигрібав і нічого не допомагало. Між іншим про key-value stores - http://www.rozrobka.com/blog/scalability/41.html
    Тобто реляційні бази є, були і будуть. Просто після певного розміру системи необхідно буде використати key-value store, або де має сенс
    Ответить
  • 5005dfcbb123e017638095c1e1b0e8af?d=identicon&s=80
    #3point
    July 16, 2009, 11:21:21
    Проститите, хоть это и не положено по этикету, но отвечу на русском, потому что мои знания украинского оставляют желать лучшего. А писать неграмотно не очень хочется :)

    Про GS - познавательно. Вряд ли конечно мне придется когда-либо с ней работать, но для расширения кругозора полезно.

    По поводу второй части. Понятно, что описанные выше компании перешли на custom key-value системы не от хорошей жизни -- про ограничения в масштабируемости открытых RDBMS (MySQL,PostgreSQL) известно многим. Этим постом я хоет
    Ответить
  • 5005dfcbb123e017638095c1e1b0e8af?d=identicon&s=80
    #4point
    July 16, 2009, 11:22:22
    >zenyk

    Тикет на размер комментария принял. Сорри за неудобство.
    Ответить
  • a50c2e7c5b7c5f42433dcf207aa083a5?d=identicon&s=80
    #5Artem
    August 22, 2009, 19:06:06
    Дануна! У них базы песец перегруженные, вот и денормализуют за счет программеров. Нам-то это зачем? Мы как раз SQL любим именно за его простоту и возможность RAPID DEVELOPMENT.
    Ответить
  • 5005dfcbb123e017638095c1e1b0e8af?d=identicon&s=80
    #6point
    August 24, 2009, 12:34:34
    >Artem

    Rapid по сравнению с чем ? Порой, оптимизация базы данных для уменшения нагрузки на систему, в целом занимает большой промежуток времени и требует знаний по внутреннему устройству конкретной СУБД. А это уже совсем не "Rapid".
    Ответить
Имя (обязательное)
Email (обязательное, скрыто)
Web-сайт
Комментарий

© WebDev.tk, 2009