Apr. 1st, 2013

egorius: (Default)

Eric Redmond, Jim R. Wilson, «Seven Databases in Seven Weeks»

Купил для расширения горизонта сознания, а то некоторые астрологи считают, что будущее за NoSQL, а вот что это вообще такое? (Кстати, вышел русский перевод, но об этом я узнал уже после покупки.) В книге идет речь о разных СУБД: основные концепции, как осмысленно поиграться с базой, какая-нибудь клевая фича для интереса и куда копать дальше — вполне адекватный подход для быстрого знакомства с новой технологией.

Узелки на память:

  • PostgreSQL
    Тут все понятно, честная реляционка, рассматривается в качестве «единичного отрезка». Пара примеров показались странными — то ли из-за особенностей Оракла, то ли авторы намерено упрощали материал.
  • Raik
    Сильнораспределенное хранилище пар ключ-значение, построенное на простых равноправных узлах, без сложных настроек объединяющихся в отказоустойчивый кластер. Красиво настраивается баланс между скоростью, надежностью и согласованностью (на сколько узлов дублировать данные; от скольки узлов дождаться подтверждения записи; сколько узлов опросить при чтении): характерные варианты (N, 1, N) — согласованость при чтении, (N, N, 1) — согласованость при записи, (N, N/2, N/2) — кворумная согласованость. Позволяет выполнять mapreduce-запросы. При чтении можно получить несколько версий данных и разрешение конфликта лежит на клиенте.
    Технологии: REST, Erlang, JavaScript.
  • HBase
    Ориентация на распределенную обработку больших объемов, фича: произвольно большое число столбцов. Не понял, что тут принципиально несовместимо с SQL. Так 40 лет назад вручную программировали запросы, только теперь вместо Кобола предлагается делать это на модном JRuby.
    Технологии: JRuby, Ruby, Thrift, экосистема Apache (Hadoop, HDFS, Zookeeper, Whirr).
  • MongoDB
    В отличие_от, MongoDB понимает структуру хранимых JSON-документов и позволяет писать adhoc-запросы, вкючая агрегатные функции. Имеются индексы, explain plan, хранимые процедуры — все это несколько сближает MongoDB с традициями реляционных СУБД. При этом он остается распределенной документо-ориентированной СУБД с поддержкой mapreduce. Данные могут реплицироваться (replica sets, обеспечивается согласованность при записи) и распределяться (sharding) на несколько узлов, имеется встроенная распределенная файловая система.
    Технологии: JSON, JavaScript.
  • CouchDB
    Хранит JSON-документы, но, в отличие от MongoDB, не поддерживает adhoc-запросы. Вместо этого для доступа к данным предлагаются материализуемые, индексируемые и динамически обновляемые представления на основе mapreduce-функций. Имеется API для получения изменений в базе (polling). При обновлениях используется «оптимистическая блокировка»: если данные успели измениться, разрешение конфликта ложится на клиента. Репликация всех данных (без шардинга) между равноправными узлами, конфликты при репликации также разрешает клиент.
    Технологии: JSON, JavaScript, REST, Node.js, Erlang.
  • Neo4j
    База данных для хранения произвольных направленных графов; вершины и ребра могут содержать информацию в виде пар ключ-значение. Запросы по сути представляют собой обход графа. Есть индексы, но их надо явно указывать и учитывать — все это столь же коряво, как в древних навигационных БД. Впрочем, альтернативные языки Gremlin и Cypher придают запросам декларативность. Поддерживаются ACID-транзакции, но не при работе в кластере.
    Технологии: Java, Gremlin/Groovy, Cypher, REST, JSON, Lucene, Blueprint, Zookeeper.
  • Redis
    Очень быстрая база данных, предоставляющая не только хранение пар ключ-значение, но и реализацию стандартных структур данных (хэш-таблицы; списки, стеки и очереди; множества; отсортированные множества; битовые операции), псевдотранзакционность путем отложенного выполнения серии операций, механизм устаревания данных, подписку на события — мешанина свойств, из которых что-нибудь да окажется полезным. Вся БД хранится в ОЗУ и ограничена его объемом, но данные можно сбрасывать на диск — частота настраивается. Поддерживается репликация.

Авторы считают, что на смену реляционно-центрическим системам приходят объединения многих синхронизированных NoSQL-баз данных, каждая из которых используется в той области, в которой она сильна (они называют это выражением polyglot persistence). А для меня стало понятно, что NoSQL — это в первую очередь веб, это скорость в обмен на согласованность и надежность. Финансовым приложениям со стороны NoSQL ничего не угрожает.

Узнал про фильтры Блума. Оракл использует в механизме хэш-соединений штуку, которая почти, но все-таки не совсем непохожа_на.

Л. Н. Королев, «Архитектура ЭВМ»

Книга Льва Николаевича, завкафедрой ВМК и моего научного руководителя. Поэтому именно так, по-академически: Л. Н. Ну и книга сама тоже такая академически-заунывная. Жаль,что среди сухих фактов не нашлось места живым эмоциям. Все равно ведь в каждой главе тянет поговорить о БЭСМ-6, так почему нет? И черт бы со всеми этими интелами и спарками, про них и в других книгах почитать можно.

А еще т. н. издательство не заморачиваясь напечатало рукопись без какой-либо правки, во всей кривизне ее набора и верстки, со всеми опечатками и убогими вордовыми иллюстрациями. Человек, не знакомый с автором, будет держаться от такой книги подальше. Обидно это.

«Стив Джобс о бизнесе»

Понадергали цитат да и издали. Есть и хорошие, вот, например:

  • Простое дается труднее, чем сложное: нужно много работать, чтобы мысль стала ясной и простой.
  • Люди говорят, что вы должны страстно любить то, что делаете, и это истинная правда. А причина в том, что это настолько трудно, что без страсти любой разумный человек бросил бы это дело.
  • Я считаю, что одним из самых ценных ресурсов, которые есть у всех нас, является свободное время.

На каждом развороте вместе с переводом напечатал и оригинал; это интересно и хорошо.

egorius: (thought)

Отмечали сегодня запуск нового проекта и годовщину прошлого. Пили, веселились.

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

Profile

egorius: (Default)
egorius

March 2025

M T W T F S S
      1 2
34 567 89
1011 121314 1516
17181920212223
24252627 28 29 30
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 30th, 2025 06:55 am
Powered by Dreamwidth Studios