Базы данных

Базы данных

Работа в IT DNS - подписывайся!

Начать рассказ о базах данных мы решили издалека, с разбора общей информации о них. После этого поделимся с тобой секретом, какие технологии работы с БД мы используем в ДНС. 

Итак, переходим сразу к определению. :)

Говоря простым языком, база данных (или же БД) —  это упорядоченная структура для хранения и обработки информации разного рода.



Однако, обычно БД не существует сама по себе, а управляется специальной программой или комплексом программ — Системой Управления Базами Данных (СУБД).


СУБД организует структуру БД, предоставляет инструменты для управления данными, например для: наполнения баз информацией, редактирования данных, вывода обработанной информации пользователю.



Немаловажно и то, что БД бывают разных типов: Реляционные (SQL), Key-Value (No-SQL), TimeSeries DB, и другие.

Каждая БД заточена под определенный тип задач и, соответственно, по-разному работает с поступающими и хранимыми данными.


А теперь, коротко о главном, какие СУБД в работе используются у нас в компании:


  1. PostgreSQL для работы сайта

PostreSQL  — это свободно-распространяемая SQL-СУБД с открытым исходным кодом и огромным сообществом. СУБД активно развивается и с каждым релизом предоставляет для работы новые и удобные инструменты.


2. MS-SQL для 1с - windows way 

MS-SQL — СУБД от Microsoft. Мастодонт на рынке реляционных БД. Прожорливая, дорогая, но отлично справляющаяся со своими задачами система. Сейчас уже больше legacy система в нашем стеке, мы потихоньку переезжаем на PostgreSQL.


3. Clickhouse - колоночная СУБД разрабатываемая компанией Яндекс, отлично подходящая для анализа данных. 

Благодаря столбцовой организации данных, мы получаем высокую скорость при обработке большинства запросов в OLAP сценариях. К преимуществом этой СУБД можно отнести механизм нативного сжатия данных и распределенную обработку запроса на всех серверах кластера.


4. Key-Value СУБД Redis для очередей сообщений 

Redis — это No-SQL СУБД с открытым кодом. Отличительная особенность — хранение данных в оперативной памяти, что позволяет получить максимальное быстродействие на простых операциях. Отлично подходит для организации кэша или очереди сообщений


5. Tarantool — ещё одна no-SQL in-memory СУБД, которая постепенно вытесняет Redis. Используется для хранения данных во внутренней системе продаж (веб-база).

Tarantool отлично себя показывает при использовании в сервисах аутентификации пользователей и системах уведомления. Открытый код и постоянно добавляющиеся модули и библиотеки, позволяют использовать tarantool при разработке широкого спектра приложений.

6. Поисковой движок на ElasticSearch.

Эта поисковая система написанная на java, хранит документы в так называемых индексах, обеспечивая быстрый поиск данных по всем полям документов.


7. Для мониторинга текущей нагрузки применяем Prometheus TSDB, в который сливается информация о всех показателях подконтрольных систем в формате "метрика": "значение"

Собирая и обрабатывая такую информацию, мы получаем возможность строить информативные графики и анализировать работу приложений, систем и серверов.



Это краткий очерк о тех СУБД, которые мы используем в повседневной работе. Разумеется, про каждую из этих систем можно написать множество отдельных длинных статей, с описанием сценариев использования и различными тестами.




Эту статью написали Маша HR и Ростислав из команды DevOps.

Кстати, в команде DevOps у нас открыта вакансия :)



Наши предыдущие статьи:


Как стать системным аналитиком в 1С

Роль и функции тестировщиков в ДНС


Report Page