В якийсь проміжок часу мені довелося працювати з однією з документоориентированных СУБД — Apache CouchDB, але у мене виникли труднощі з пошуком документації. У цій статті хочу розповісти про те, як же працювати в цій СУБД з JavaScript на прикладі невеликого додатки «Todo List». Так як стаття орієнтована на ApacheCouchDB – я не буду показувати і розповідати про те, як працює додаток в повній мірі.

Читати далі →


У статті "Tarantool: Хороший, Поганий, Злий" був описаний простий сервіс голосування з чинним прикладом на PHP. Ми побачили, як легко підключити і використовувати цю NoSQL базу даних у своїх програмах. Однак залишився без уваги один важливий питання – навіщо це? Який виграш в продуктивності дає використання NoSQL порівняно із звичайними базами даних?


Читати далі →

Введення
cap
Давно хотів написати про міфи про CAP теоремі, але якось все руки не доходили. Однак, почитавши черговий опус, схопився за голову і вирішив розкласти все по поличках, щоб в мізках виникла струнка картина.
Подія, коли якась стаття викликає бурю емоцій, — вкрай рідкісне. Перший раз таке виникло, коли я прочитав про прикутий replication. Мене намагалися переконати, що це потужний підхід і що це найкраще, що могло статися з консистентним реплікацією. Я зараз не буду наводити аргументи, чому це погано працює, а просто наведу розмовляючу цитату з статті Chain Replication metadata management:
Split brain management is a thorny problem. The method presented here is one based on прагматиками. If it doesn't work, there isn't a serious worry, because Machi's first serious use case all require only AP Mode. If we end up falling back to use Riak Ensemble" or «use ZooKeeper», then perhaps that's fine enough.
У моєму вільному переказі це означає приблизно наступне: "У нас тут є якийсь алгоритм. Ми не знаємо, чи буде він працювати правильно чи ні. Та нам це і не важливо". Хоча б чесно, заощадив купу часу, спасибі авторам.
І тут, значить, попадається на очі стаття: Spanner, TrueTime & The CAP Theorem. Її ми розберемо по поличках ближче до кінця, озброївшись поняттями та знаннями. А перед цим розберемо найпоширеніші міфи, пов'язані з CAP теоремою.

Читати далі →

останнім часом на Хабре з'являється досить багато статей про Tarantool — базу даних та сервер додатків, який використовується в Mail.Ru Group, Avito, Yota на різних високонавантажених проектах. І ось, коли в маленькому стартапі, який я іноді консультую, виникла необхідність поділу прекрасного, але, на жаль, монолітного програми на микросервисы, я подумав: а чим ми гірше за інших компаній? — і вирішив подивитися в бік Tarantool. Однак, на відміну від більшості компаній, де використовується Tarantool, в нашому випадку розробка проекту ведеться в Visual Studio на Windows. Передбачається, що навіть з переходом на микросервисную архітектуру більшість микросервисов буде написано на мові C#. А Tarantool… Варто зайти на офіційний сайт і відразу розумієш: Tarantool навіть встановити на Windows проблематично, так як на цю операційну систему він не портований. Як я боровся з такими складнощами, для якого саме микросервиса вибрав Tarantool і як ви можете використовувати Tarantool у своїх .NET-проектах, я розповім в цій статті. А поки спойлер — практично всі труднощі переборні, і мій досвід можна без сумнівів назвати позитивним. Наприклад, на те, щоб завантажити і запустити Tarantool, а потім зробити до нього запит з коду на мові C#, у мене пішло менше десяти хвилин. І я покажу вам, як це зробити!
image
Дана стаття являє собою туторіал, що описує роботу з Tarantool як таку. Тут немає опису проекту, побудованого на Tarantool, або порівняння Tarantool з іншими продуктами (статей на цю тему і так вже написано досить багато). Матеріал народився як спроба відповісти на запитання: а що б я хотів прочитати, коли тільки починав працювати з Tarantool. Але спочатку трохи розповім, для чого ми, власне, Tarantool застосовуємо в реальному житті.
Читати далі →

RethinkDB: живіший за всіх живих. Тепер під крилом Linux Foundation



Останні кілька місяців ситуація навколо RethinkDB була дуже смутна, про майбутнє проекту було складно щось сказати. Але ситуація нарешті-то вирішилася, в офіційному блог з'явилося довгоочікуване оновлення з роз'ясненням про поточний стан речей. Як стало відомо, CNCF(Cloud Native Computing Foundation) викупила права на исходники RethinkDB і передала проект під заступництво організації Linux Foundation. Перед передачею код був переведений з ліцензії AGPLv3 на Apache 2.0. Передача здійснена в рамках розпочатої колишніми розробниками RethinkDB ініціативи щодо передачі спільноти управління над проектом.

Читати далі →

Tarantool: Хороший, Поганий, Злий

imageБагато чули про NoSQL базі даних Tarantool, знають про те, що вона вміє зберігати дані в пам'яті, дуже швидко їх обробляє і володіє високою продуктивністю. Тарантул був написаний серйозними хлопцями, які обслуговують сервіси з сотнями тисяч запитів в секунду.

Система здається складною. Незважаючи на російські коріння, спочатку навіть не було документації російською мовою. Чим же може допомогти цей потужний інструмент звичайним хлопцям — програмістам і розробникам-початківцям?

Спробуємо написати простий цікавий сервіс, здатний витримати велике навантаження. І ніякого SQL!

Читати далі →

Невелике порівняння продуктивності СУБД «MongoDB vs ClickHouse»

Так як колоночная СУБД ClickHouse (внутрішня розробка Яндекс) стала доступна кожному, вирішив використати цю СУБД замість MongoDB для зберігання аналітичних даних. Перед використанням зробив невеликий тест продуктивності і хочу поділитися результатами з IT співтовариством.

Читати далі →

Firebase: прощання з ілюзіями

Маркетинг став частиною світу розробки. За кількістю зірочок на GitHub визначають, яке з схожих один на одного рішень крутіше, а за кількістю твітів можна спрогнозувати, яка технологія буде розвиватися в найближчі півроку. В таких умовах ми ризикуємо стати жертвами хайпи. Я — став: моє уявлення про Firebase розходилося з реальністю настільки сильно, що розуміння області застосування технології стало для мене справжнім одкровенням. Я хочу поділитися цим розумінням і тим, як все-таки використовувати Firebase правильно.



Читати далі →

NoSQL – коротко про головне



Сергій Туленцев (TextMaster)
Мене звуть Сергій Туленцев, я вже кілька років цікавлюся NoSQL базами даних і сьогодні спробую поділитися з вами знаннями та досвідом.

Кому буде корисний цей доповідь? Це оглядову доповідь з претензією на структурованість. Якщо ви щось десь колись чули про NoSQL, то через 40 хвилин ви будете знати набагато більше, ви будете легше орієнтуватися в термінах і більш впевнено вибирати бази даних для свого проекту.

Поговоримо також про типові приклади застосування і як не треба застосовувати NoSQL бази даних.

Читати далі →