В кінці липня 2016 року в корпоративному блозі Über з'явилася воістину історична стаття про причини переходу компанії з PostgreSQL на MySQL. З тих пір в жарких обговореннях цього матеріалу було зламано чимало списів, аргументи Über були ретельно препаровані; компанію звинуватили в упередженості, технічної неграмотності, нездатності ефективно взаємодіяти з спільнотою та інших смертних гріхах, при цьому по гарячих слідах Postgres було внесено кілька змін, покликаних вирішити деякі з описаних проблем. Список наслідків на цьому не обмежився, і його можна продовжувати ще дуже довго.
Напевно, не буде перебільшенням сказати, що за останні кілька років це було одне з найбільш гучних і резонансних подій, пов'язаних з СУБД PostgreSQL, яку ми, до речі сказати, дуже любимо і широко використовуємо. Ця ситуація напевно пішла на користь не тільки згаданим систем, але і руху Free and Open Source в цілому. При цьому, на жаль, російського перекладу статті так і не з'явилося. Зважаючи на значущість події, а також докладного і цікавого з технічної точки зору викладу матеріалу, в якому стилі Postgres vs MySQL йде порівняння фізичної структури даних на диску, організації первинних і вторинних індексів, реплікації, MVCC, оновлень і підтримки великої кількості сполук, ми вирішили заповнити цей пробіл і зробити переклад оригінальної статті. Результат ви можете знайти під катом.
Читати далі →

Я продовжую писати про Битриксе в контексті обмінів, Mysql і командного рядка Linux.

Ця стаття є вступною до серії статей про структуру бази даних Бітрікс, де ця тема буде розкрита досить докладно. Для початку будуть представлені рішення деяких невеликих, але настирливих завдань. Як завжди, знання SQL обов'язково.

У статті розглядаються досить приватні питання, які виникають щодня. Звичайно, ви можете використовувати ці матеріали за їх прямим призначенням, але головна мета статті не в цьому. Я починаю розкривати «чорний ящик» під назвою «структура бази даних бітрікс», і показувати, що ці знання можуть знадобитися для підвищення рівня володіння як системою, так і базовими технологіями (SQL, linux shell), що, звичайно, допомагає вирішувати нові, складні, цікаві, різноманітні завдання.

Сторінка, з якої можна робити SQL запити до бд, або mysql web клієнт бітрікс, знаходиться в панелі управління Битрикса по шляху: Настройки->Інструменти->SQL запит».

Також, звичайно, можна робити запити з командного рядка операційної системи, для чого можу запропонувати вам нескладну операцію з отримання логіна та пароля з налаштувань Битрикса:

log=$(grep -i "login" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"')
pas=$(grep -i "pass" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"')
mysql -u$log -p$pas $log

— таким чином можна отримати логін і пароль до бази даних Mysql Bitrix з командного рядка linux на bash. Шляхи, звичайно ж, замініть на ваші власні. У варіанті, що надається виртаульной машиною Бітрікс, DOCUMENT_ROOT виглядає як /home/bitrix/www/.

Читати далі →



На конференції HighLoad++ 2016 Іван Круглов розповів про те, як сервіс Booking.com розвивав свій пошук — одну з центральних функцій системи інтернет-бронювання готелів.

Всім привіт! Я Ваня, пишу на Perl — можете мені поспівчувати. [Легкий сміх у залі і зі сцени.]

Гаразд. По-серйозному, мене звуть Іван Круглов, я з компанії Booking.com з міста Амстердам. Там я працюю останні 4 роки, де останні півтора року я працював у команді, яка робить наш пошук краще.

Почати я хочу трохи здалеку. Ось з цієї фрази:

Читати далі →

Це третя стаття з циклу

І сьогодні вона потрапила в потік «Адміністрування». Сьогодні ми не будемо писати модулі або налаштовувати RBAC, а підемо по шляху найменшого опору і просто захарденим звичайний LAMP-сервер за допомогою готової політики, включивши необхідні налаштування.
Якщо хто забув, за аббривиатурой LAMP ховається Linux, Apache, Mysql, PHP, тобто це велика частина всіх VDS, які купують люди для зберігання своїх особистих блогів. Сподіваюся, що це допоможе їм стати трохи безпечніше :)

Читати далі →

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




Читати далі →



Розроблена інженерами Über система зберігання даних Schemaless використовується в декількох найважливіших і великих сервісах нашої компанії (наприклад, Mezzanine). Schemaless — це масштабоване та надійне сховище даних, що працює поверх кластерів MySQL1. Коли цих кластерів було 16, керування ними була нескладною справою. Але зараз у нас їх понад 1 000, і в них розгорнуто не менше 4 000 серверів баз даних. Управління такою системою вимагає інструментів зовсім іншого класу.
З безлічі компонентів, що входять до Schemadock, порівняно невеликий, але дуже важливою частиною є Docker. Перехід на більш масштабоване рішення став для нас знаковою подією, і в даній статті ми розповіли про те, як Docker допоміг нам цього домогтися.
Читати далі →



Олексій Акулович пояснює життєвий шлях высоконагруженного проекту на PHP. Це — розшифровка Highload ++ 2016.

Мене звати Льоша, я пишу на PHP.

На щастя, доповідь не про це. Доповідь про ретроспективу розвитку мережі — того, як проект розвивався. Які рішення капітанські або вельми специфічні для нашої навантаження ми застосовували, що можна використовувати в інших проектах, які відчувають навантаження.

Почнемо.

Читати далі →



Петро Зайцев показує різницю між MySQL і MongoDB. Це — розшифровка доповіді з Highload++ 2016.

Якщо подивитися такий відомий DB-Engines Ranking, то можна побачити, що протягом багатьох років популярність open source баз даних зростає, а комерційних — поступово знижується.

Читати далі →