Comments 11
Было бы интересно что-то услышать о F1, который построен поверх Spanner (http://www.systemswemake.com/paper/f1)
+1
Т.е. получается, что не успели люди начать пользоваться NoSQL, уже появилась новая тенденция — попытка совместить быстроту и масштабируемость NoSQL и привычный всем SQL. Мне кажется такими темпами скоро программисты будут ходить к отдельному человеку, который разбирается во всех этих типах баз данных, API, встроенных языках и т.п. Раньше вот как хорошо было: MySQL, PostgreSQL, MSSQL, Firebird, Oracle, SQLite более менее знаешь и этого достаточно, чтобы написать любое приложение. А теперь кроме этих наиболее известных SQL движков еще штук 30 новых. ДУмаю лет через 10 две трети умрет и будет нам опять нирвана.
+1
<кэп модэ>
Если «тогда» «программист» было более-менее определенное понятие и должность, то сейчас всё уходит в узкую специализацию по зоопаркам технологий и подходов
</кэп модэ>
Это как совсем давно. Мужик? — Вот тебе дубина, вон там стоИт мамонт. Пойди убей его и съешь.
Ну, понятно, надеюсь.
Если «тогда» «программист» было более-менее определенное понятие и должность, то сейчас всё уходит в узкую специализацию по зоопаркам технологий и подходов
</кэп модэ>
Это как совсем давно. Мужик? — Вот тебе дубина, вон там стоИт мамонт. Пойди убей его и съешь.
Ну, понятно, надеюсь.
+1
Дык, каждой задаче — свое решение. Polyglot Persistence и все такое. У нас уже есть люди, которые специализируются либо только на реляционных базах, либо только на NoSql. Дяди разные нужны, дяди разные важны :) Вот, кстати, дяденька Фаулер еще давно завещал www.martinfowler.com/bliki/PolyglotPersistence.html
+1
автоматическая обработка отказов как вычислительных узлов, так и ДЦ;
автоматическая миграция данных как между вычислительными узлами, так и между ДЦ.
Мне казалось это как раз таки чаще свойства NoSQL, чем традиционных СУБД.
В самом же Spanner согласованность данных при проведении транзакций обеспечивается протоколом двухфазной фиксации транзакции (2-Phase Commit Protocol), реализованным с помощью алгоритма Paxos.
Это неверно. Paxos и 2PC используются независимо и для разного. Вообще вопрос организации tablets в группы вы как-то опустили. Paxos используется для репликации внутри группы (реплицируются одни и те же данные, в том числе между ДЦ), двухфазный коммит и двухфазные блокировки используются для организации транзакций, оперирующих с данными из нескольких tablet. Кроме этого рискну предположить, что всевозможные мастера используют Chubby и, как следствие, тоже Paxos.
Ещё хотел бы добавить, что ваш цикл совсем обходит стороной Megastore и Chubby, хотя второй послужил прототипом Zookeeper.
0
Рискуя комментарием на грани фола, замечу что Megastore это немного тупиковая другая ветвь эволюции, и в инфраструктуре CFS/Spanner/F1 он вообще не участвует. Chubby здесь конечно же используется, в том же ключе как он используется и в любом другом продукте Google — distributed lock service.
0
Да, про chubby интересно было бы почитать.
0
www.cs.utexas.edu/users/lorenzo/corsi/cs380d/papers/paper2-1.pdf
К сожалению на самом интересном месте:
К сожалению на самом интересном месте:
While group membership with the core Paxos algorithm is straightforward, the exact details are non-trivial when we introduce Multi-Paxos, disk corruptions, etc. Unfortunately the literature does not spell this out, nor does it contain a proof of correctness for algorithms related to group membership changes using Paxos. We had to fill in these gaps to make group membership work in our system. The details – though relatively minor – are subtle and beyond the scope of this paper.So trololo :(
0
Кольцо Всевластия :)
-1
В отличии от Bigtable, Spanner добавляет к структуре хранимых данных метку времени добавления этих данных, что является важным введением для реализации поддержки мульти-версионности данных.
Эмнэээ… Но ведь Bigtable тоже поддерживает метку времени. Bigtable
A NoSQL massively parallel table.
Each column family cell can contain multiple versions of content. For example, in the earlier example, we may have several timestamped versions of page contents associated with a URL. Each version is identified by a 64-bit timestamp that either represents real time or is a value assigned by the client. Reading column data retrieves the most recent version if no timestamp is specified or the latest version that is earlier than a specified timestamp. timestamp.
Эмнэээ… Но ведь Bigtable тоже поддерживает метку времени. Bigtable
A NoSQL massively parallel table.
Each column family cell can contain multiple versions of content. For example, in the earlier example, we may have several timestamped versions of page contents associated with a URL. Each version is identified by a 64-bit timestamp that either represents real time or is a value assigned by the client. Reading column data retrieves the most recent version if no timestamp is specified or the latest version that is earlier than a specified timestamp. timestamp.
0
Only those users with full accounts are able to leave comments. Log in, please.
Spanner. NewSQL хранилище от Google