Size: a a a

Архитектура ИТ-решений

2020 December 24

PD

Phil Delgyado in Архитектура ИТ-решений
По хранилищу - партиционирование.
По ядрам - RAC
источник

N

Nikolay in Архитектура ИТ-решений
Phil Delgyado
Хм, а в чем разница между семейством столбцов и строкой в оракле?
Нет ничего общего между NoSQL, это не система, это "определение от противного"
Если мы говорим про column family, то разница например в том, что в оракле в каждой строке есть значения всех колонок ( но только последнии, которые могут принимать null могут отсутствовать, а в column family это не обязательно вообще. в строке может быть только 1 колонка, а все другие значения не быть совсем.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Nikolay
Если мы говорим про column family, то разница например в том, что в оракле в каждой строке есть значения всех колонок ( но только последнии, которые могут принимать null могут отсутствовать, а в column family это не обязательно вообще. в строке может быть только 1 колонка, а все другие значения не быть совсем.
Чем отличается хранение по строкам - с одной стороны, и все прочие NoSQL - с другой?
Принципиально?
источник

N

Nikolay in Архитектура ИТ-решений
Phil Delgyado
По хранилищу - партиционирование.
По ядрам - RAC
это не так. партиционивание - это не шардирование.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А в чем разница для решаемой задачи? Разделение данных - есть. Разделение ядер - есть. Масштабирование - есть.
Зачем что-то еще?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Там есть и data grid, но я про совсем старшие лицензии оракла плохо знаю.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Nikolay
Если мы говорим про column family, то разница например в том, что в оракле в каждой строке есть значения всех колонок ( но только последнии, которые могут принимать null могут отсутствовать, а в column family это не обязательно вообще. в строке может быть только 1 колонка, а все другие значения не быть совсем.
На самом деле в Pg тоже может быть из кучи формальных столбцов реально хранится только одна - а остальные в TOAST или в связанных хранилищах типа jsonb
источник

N

Nikolay in Архитектура ИТ-решений
Phil Delgyado
Чем отличается хранение по строкам - с одной стороны, и все прочие NoSQL - с другой?
Принципиально?
не совсем понятен вопрос. вот в column family довольно сильные отличия. в оракле у нас занчения всех колонок(за исключением крайних нулл), а тут в строке можно держать значения только некоторых.  у нас могут различаться набор колонок во времени!
источник

N

Nikolay in Архитектура ИТ-решений
Phil Delgyado
А в чем разница для решаемой задачи? Разделение данных - есть. Разделение ядер - есть. Масштабирование - есть.
Зачем что-то еще?
разница в том, что сторадж при шардировании другой, а при партиционировании общий. разные iops
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Nikolay
не совсем понятен вопрос. вот в column family довольно сильные отличия. в оракле у нас занчения всех колонок(за исключением крайних нулл), а тут в строке можно держать значения только некоторых.  у нас могут различаться набор колонок во времени!
Как это "всех"? А blob?
Но в книге не про разницу между column family и row tables, а про принципиальную разницу между хранением по строкам (с одной стороны) и всеми прочими вариантами с другой. Я вот этого не вижу.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Nikolay
разница в том, что сторадж при шардировании другой, а при партиционировании общий. разные iops
Э, при партиционировании можно разные партиции на разные tablespace убрать, вот и разные стораджи.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Собственно, ради этого обычно партиционирование и делают.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Разница (в теории) в том, что партиционирование - только про сторадж, а шардирование - про (сторадж+ядра+память).
Но внутри оракла просто для этого используются разные решения - и все.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Но если продукт умеет в партиционирование и что-то типа RAC, то шардирование ему уже не нужно.
Шардирование было решением задачи "хотим масштабироваться" для "бедных", так как в бесплатных СУБД не было решений для партиционирования и, тем более, RAC.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
И в современных noSQL ты скорее увидишь именно подход Оракла, нежели шардинг в классическом виде (исключение, разве что, VoltDB)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну и репликацию, конечно )
источник

E

Eugene in Архитектура ИТ-решений
Phil Delgyado
Э, в какой предметной области шардинг по географии имеет смысл?
Ну, вот у Dell в штатах вырастет нагрузка еще на порядок - и что? Страна-то одна
сервис знакомств badoo :) - как-то слушал в пол уха их рассказ, как у них базы устроены. вот ровно так - шарды по регионам. и, по-моему, они ещё и физически разнесены по этим самым регионам.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Насколько помню, там не шард на регион, а группа шардов на регион и размещена поближе к потребителю.
И это понятно зачем. Но внутри региона несколько шардов (одного у баду не хватило бы...)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Может у них и региональная специфика так же. Но это не про шардирование, а про собственный CDN )
источник

E

Eugene in Архитектура ИТ-решений
Возможно, что на один регион у них и несколько шардов - это давно было, я уже не помню.
Пример привёл 😊

А переписка выше выглядит как спор ради спора 😊
источник