
Здравей, Хабр! Вероятно, всеки от нас има такъв файл, в който прикрива нещо полезно и интересно за себе си. Някакви линкове към статии, книги, репозитории, ръководства. Това могат да бъдат отметки в браузъра или дори просто отворени раздели, оставени за по-късно. С времето всичко това нараства, линковете спират да работят, а голяма част от материалите просто остаряват.
А какво ако споделим тази ценност с общността и публикуваме този файл в GitHub? Тогава вашите усилия могат да бъдат полезни и за други, а поддържането на актуалността може да стане заедно, приемайки актуализации от желаещите през стари добри PR-ове. Именно за това е предназначен проектът . Той попада в ТОП-10 на репозиторите в GitHub, има 138К звезди и линкът към вашите усилия може да се окаже направо в неговото коренно README, което ще привлече огромна аудитория към вашето творчество. Вярно е, че за това ще трябва да положите малко усилия. Искам да споделя с вас своя опит с подобни усилия.
Казвам се Максим Грамин. В КРОК се занимавам с Java разработка и изследвания в областта на базите данни. В този пост ще ви разкажа какво представляват Awesome Lists и как да направите свое истинско официално awesome репо.
Какво представляват Awesome Lists
Когато ми се налага да се запозная с някаква нова технология или език за програмиране, първото, с което се запознавам, е точно тук — намирам необходимата секция и в нея подходящите списъци. И съдейки по броя звезди и техния постоянен растеж, не само аз го правя.

Всъщност — това е обикновен плосък readme.md, който живее в отделен , заема 8-мо място сред всички репозитори в GitHub и включва линкове към други списъци, посветени на определена тематика. Например в секцията Programming Languages можете да намерите списъци Awesome Python и Awesome Go, а в Front-End Development има огромно количество ресурси по уеб разработка. И, разбира се, — секция (за която ще се върнем след малко). И да, всичко това не се ограничава само до технически теми. Например, в секциите Entertainment и Gaming също можете да намерите много интересни неща (лично мен ме зарадва ).
Основната характеристика е, че всички тези списъци се поддържат не лично от автора, а от общността и са съставени в съответствие със специален и много строг . Всеки такъв списък е самостоятелна общност от специалисти, живее собствен живот и е отворен за вашите pull request-и, които ще го направят дори по-добър. Също така всеки, който желае, може да създаде свой собствен списък, ако някоя тема все още не е била разглеждана.
Авторът на идеята и координатор на всичко това е легендарният Синдре Сорхус, , автор на над и именно той ще приема вашите PR-и.

Как да влезете в awesome-list
Ако не сте намерили подходящ списък по темата, която ви интересува, това е първият признак, че трябва да го направите сами!
Ще ви разкажа на примера на моето творение — От проект на проект ми се налага да работя с различни бази данни, и затова създадох файлове, в които събирах полезни инструменти за работа с тях, различни БД мигратори, IDE-та, администраторски панели, средства за мониторинг и всякакви други. Инструменти, които вече бях използвал или само планирах да приложа. Споделях този файл с колегите си в КРОК и извън него. Това помогна много на хората и беше интересно. В крайна сметка, исках да постигна по-голяма популярност, когато забелязах, че в раздела Databases няма списък на тази тема. И реших да добавя своя.
Какво е нужно за това?
- Регистрираме обикновен GitHub репозиторий с име от вида awesome-нещо-тук. В моя случай това беше awesome-database-tools.
- Привеждаме списъка си във формат awesome, в което ще ни помогне който ще генерира всички нужни файлове в необходимия формат.
- Настройваме истински CI. и travis ci ще ни помогнат да контролираме на нашия списък.
- Чакаме 30 дни.
- Правим преглед на поне 2 чужди PR-а.
- И накрая правим PR в основния репо, където добавяме линк към нашето репо. Тук е важно да прочетете всичко внимателно и да изпълните стриктно всички изисквания към новия списък и самия PR.
Моят първи опит

Но измина малко време, събрах още материали, поработих над грешките и се реших на .
Но забравих за много важно нещо, за което ми намекнаха по внимателен начин:

Бях малко небрежен и не добавих едиорога в знак на потвърждение, че всички условия са изпълнени.

След това измина още малко време, още малко редакции по забележките и се появи дългоочакваният , че моят PR беше приет.
Така станах автор на своя първи списък и започнах да получавам от общността за добавяне на нови инструменти. И много от тях вече са включени в . Ако ви мързи да кликнете на връзката,
ето актуална към момента на публикуване подбрана информация
Awesome Database Tools
Списък с инструменти за бази данни, създаден от общността
Тук ще съберем информация за невероятни и полезни инструментите за работа с бази данни, предназначени за DBA, DevOps, разработчици и обикновени потребители.
Не се колебайте да добавите информация за собствените си инструменти за бази данни или вашите любими инструменти от трети страни.
Съдържание
IDE
- — Премиер многоцелеви административен инструмент за управление на бази данни, контрол и разработка.
- — Aqua Data Studio е софтуер за продуктивност за разработчици на бази данни, DBA и анализатори.
- — Инструмент за управление на множество бази данни с поддръжка за над 20 бази данни.
- — Кросплатформена IDE за бази данни и SQL от JetBrains.
- — Безплатен универсален мениджър на бази данни и SQL клиент.
- — Универсална IDE за разработка, управление и администриране на MySQL и MariaDB бази данни.
- — Мощна IDE за управление, администриране и разработка на Oracle.
- — GUI инструмент за управление и разработка на бази данни и обекти.
- — Мощна интегрирана среда за разработка за SQL Server, управление, администриране, анализ на данни и отчитане.
- — Модерна (JavaScript/Electron) отворена IDE за MongoDB. Има функции за поддръжка на разработка, администриране и настройка на производителността на бази данни MongoDB.
- — Всеобхватен GUI инструмент за Firebird и InterBase.
- — Лек клиент за управление на MySQL, MSSQL и PostgreSQL, написан в Delphi.
- — MySQL Workbench е единен визуален инструмент за архитекти на бази данни, разработчици и DBA.
- — Инструмент за разработка на бази данни, който ви позволява да свържете едновременно MySQL, MariaDB, SQL Server, Oracle, PostgreSQL и SQLite бази данни от едно приложение.
- — Oracle SQL Developer е безплатна интегрирана среда за разработка, която опростява разработката и управлението на Oracle Database как в традиционни, така и в облачни среди.
- — Най-популярната и с най-много функции платформа с отворен код за администриране и разработка на PostgreSQL, най-напредналата открито базирана база данни в света.
- — Дългосрочна поддръжка за pgAdmin3.
- — IDE, която е специално насочена към разработването на съхранявани програмни единици за Oracle бази данни.
- — Завършен и мощен инструмент за управление, администриране и разработка на бази данни за PostgreSQL.
- — Toad е водещото решение за бази данни за разработчици, администратори и анализатори на данни. Управлявайте сложни изменения в базата данни с единен инструмент за управление на бази данни.
- — Оптимизиран инструмент за разработка на бази данни за MySQL и Postgres.
- — TOra е отворен SQL IDE за Oracle, MySQL и PostgreSQL бази данни.
- — Създавайте, администрирайте, запитвайте и изследвайте Valentina DB, MySQL, MariaDB, PostgreSQL и SQLite бази данни безплатно.
GUI Мениджъри/Клиенти
- — Управление на бази данни в един PHP файл.
- — Универсален инструмент за бази данни за разработчици, DBA и анализатори.
- — Предприятие ClickHouse Ops UI за вас за извършване на заявки, мониторинг на здравето на ClickHouse и много други действия.
- — Директен SQL достъп до всичките ви данни, независимо откъде се намират.
- — Уеб инструмент за управление на бази данни.
- — Уеб базиран браузър за бази данни за PostgreSQL, написан на Go и работещ на macOS, Linux и Windows.
- — Уеб базиран инструмент за администриране на SQLite бази данни, написан на PHP с поддръжка за SQLite3 и SQLite2.
- — Уеб интерфейс за MySQL и MariaDB.
- — PSequel предоставя чист и прост интерфейс, с който можете бързо да извършвате обичайни PostgreSQL задачи.
- — Съвременен, колаборативен SQL редактор за вашия екип.
- — Съвременен PostgreSQL клиент за Mac.
- — Robo 3T (бивш Robomongo) е инструмент за управление на MongoDB, проектиран за работа с конзола.
- — Sequel Pro е бързо и лесно приложение за управление на бази данни за Mac, работещо с MySQL & MariaDB.
- — Инструмент за управление на данни, който позволява работа с SQL Server, Azure SQL DB и SQL DW от Windows, macOS и Linux.
- — Графичен интерфейс, поддържащ всички функции на SQLite.
- — Уеб базиран SQL редактор, работещ в собственото ви частно облако.
- — Прост, мощен мениджър на Postgres за macOS.
- — Графичен SQL клиент, написан на Java, който позволява да виждате структурата на база данни, да преглеждате данните в таблиците, да издавате SQL команди и др.
- — Управление на бази данни за VSCode.
- — Най-подробният и лесен за използване MySQL GUI.
- — SQL редактор и открито източник прост инструмент за бизнес интелигентност за Clickhouse.
- — Съвременен, местен и приятелски GUI инструмент за релационни бази данни: MySQL, PostgreSQL, SQLite и др.
- — PostgreSQL уеб интерфейс за администриране — използвайте вашите PostgreSQL бази данни от всякъде, с бърз, богат AJAX уеб интерфейс.
CLI инструменти
- — Свържете се с база данни, за да издавате SQL команди в IPython или IPython Notebook.
- — CLI инструмент за Redis с автоматично допълване и синтактично оцветяване.
- — Инструмент за администриране на PostgreSQL, подобен на top.
- — Приложение, подобно на top, за мониторинг на активността на сървъра PostgreSQL.
- — 'top' за PostgreSQL.
- — Постгрес страница.
- — Oracle SQL Developer Command Line (SQLcl) е безплатен интерфейс за команден ред за Oracle Database.
- — Универсален интерфейс на команден ред за PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, включително NoSQL и не-релационни бази данни!
dbcli
- — AthenaCLI е CLI инструмент за AWS Athena услуга, който може да осъществява автоматично допълване и синтактично оцветяване.
- — CLI за SQLite бази данни с автоматично допълване и синтактично оцветяване.
- — Команден клиент за SQL Server с автоматично допълване и синтактично оцветяване.
- — Терминален клиент за MySQL с автоматично допълване и синтактично оцветяване.
- — Postgres CLI с автоматично допълване и синтактично оцветяване.
- — Vertica CLI с автоматично допълване и синтактично оцветяване.
Навигация и визуализация на DB-схеми
- — Бърз и прост инструмент, който ви помага да рисувате диаграмите на отношенията на вашата база данни и потока бързо, използвайки прост DSL език.
- — Инструмент за генериране на диаграми на връзките между обектите.
- — Безплатен инструмент за откритие и разбиране на схемата на бази данни.
- — Генерирайте документация на вашата база данни в HTML, включително диаграми на взаимовръзките между обектите.
- — CI-приятелски инструмент за документиране на база данни, написан на Go.
Моделери
- — Мощен и икономичен инструмент за проектиране на бази данни, който ви помага да създадете качествени концептуални, логически и физически модели на данни.
- — Oracle SQL Developer Data Modeler е безплатен графичен инструмент, който увеличава продуктивността и опростява задачите по моделиране на данни.
- — Инструмент за моделиране на данни, проектиран за PostgreSQL.
Инструменти за миграция
- — Инструмент за конфигуриране на база данни като код, който използва концепцията за идемпотентни DDL скриптове.
- — Инструмент за мигриране на бази данни.
- — Онлайн миграция на схеми за MySQL.
- — Библиотека независима от базата данни за проследяване, управление и прилагане на промени в схемата на базата данни.
- — Подобно на diff, но за схемите на PostgreSQL.
- — Управление на миграции на бази данни в Node.js, изградена изключително за postgres. (Но може да се използва и за други бази данни, отговарящи на SQL стандарта — например CockroachDB.)
- — Предоставя утилити за описание на схемата на PostgreSQL базата данни като YAML.
- — Оператор на Kubernetes за декларативно управление на схемата на базата данни (gitops за схемите на базата данни).
- — Разумно управление на промените в базата данни, предназначено за разработка без рамки и надеждно внедряване.
- — Oще един инструмент за версия на схемата и миграция, създаден само с родния .NET Core 3.0+ и надяваме се по-добър.
Инструменти за генериране на код
- — Извлича SQL DDL (Език за дефиниране на данни) от данни на таблици.
- — Утилита за команден ред за експортиране на схемата на Oracle в набор от скриптове за инициализация на ddl с възможност за филтриране на нежелана информация, разделяне на DDL в различни файлове, елегантно форматиране на изхода.
Обвивки
- — Отворен код REST API бекенд за мобилни, уеб и IoT приложения.
- — Изключително бързи, мигновени реални GraphQL API на Postgres с прецизен контрол на достъпа, също тригери уеб хук на събития от базата данни.
- — SQL за потоци JSON и CSV.
- — Обвивка за чужди данни PostgreSQL за MySQL.
- — Приложение за Java в средния слой, ORDS свързва HTTP(S) глаголи (GET, POST, PUT, DELETE и т.н.) с транзакции на базата данни и връща всякакви резултати, форматирани с JSON.
- — Prisma превръща вашата база данни в реален граф API.
- — REST API за всяка база данни Postgres.
- — Начин за предоставяне на RESTful API от всяка база данни, написан на Go.
- — Генератор на SQL с Java и HTTP API, използващ прост RESTful HTTP API с XML или JSON сериализация.
- — Лесно преобразувайте вашата SQL база данни в REST API.
- — Автоматично генерирайте RESTful API услуга за вашата наследена база данни.
- — Разширен REST и UI обвивка за вашите SQL заявки.
Инструменти за резервно копие
- — Надеждно архивиране и възстановяване на PostgreSQL.
- — Мениджър за архивиране и възстановяване за PostgreSQL.
Репликация/Операции с данни
- — Инструмент за изследване и публикуване на данни.
- — Услуга за разпределен трансфер на данни за MySQL.
- — Синхронизиране на данни от Postgres между бази данни.
- — Система за репликация от MySQL до PostgreSQL, написана на Python 3. Системата използва библиотеката mysql-replication, за да извлече изображението на реда от MySQL, което е съхранено в PostgreSQL като JSONB.
- — Уебсървър на Golang за поточно предаване на промени в Postgres най-малко веднъж през уеб сокети, използвайки функцията за логическо декодиране на Postgres.
- — Най-популярният мениджър за репликация за PostgreSQL.
Скриптове
- — Колекция от полезни малки скриптове за анализ и администриране на бази данни, създадени от нашия екип в PostgreSQL Experts.
- — Запитвания за измерване на статистическо надуване в индекси и таблици за PostgreSQL.
- — SQL тест, който проверява дали вашата база данни спазва правилата от .
- — Полезни утилити за PostgreSQL.
- — Полезни SQL скриптове и команди от .
- — Липсващ набор от полезни инструменти за DBAs на Postgres и всички инженери.
- — Полезни запитвания и команди на PostgreSQL.
- — Тези sqlplus скриптове са за оптимизация на производителността на Oracle Database и отстраняване на неизправности.
Мониторинг/Статистика/Производителност
- — Предоставя графичен изглед на активната история на сесиите в базата данни Oracle и PostgreSQL.
- — Неблокируем и икономичен инструмент за мониторинг на MySQL.
- — Мониторирайте производителността на вашия SQL Server на Linux с collectd, InfluxDB и Grafana.
- — Безопасен, прост и безагентен инструмент за мониторинг на отдалечени сървъри, който е натоварен с мощни функции, за да направи мониторинга ви възможно най-ефективен.
- — Отворена платформа за управление и мониторинг на производителността на MySQL и MongoDB.
- — Статистически колектор pganalyze за събиране на метрики и логове от PostgreSQL.
- — Инструмент за диагностика от ново поколение, който позволява на потребителите да направят дълбочинен анализ на здравето на Postgres базите данни.
- — Експортер на метрики за сървъра PostgreSQL за Prometheus.
- — Измерва и проследява всеки аспект на PostgreSQL базите данни.
- — Табло за производителност за Postgres — проверки на здравето, предложени индекси и още.
- — Събира и показва информация и статистики от работещ PostgreSQL сървър.
- — Потребителски интерфейс за обяснителни планове на Postgres, плюс съвети за подобряване на производителността.
- — Събира статистики от PostgreSQL и или ги запазва в CSV файлове, или ги отпечатва на стандартния изход.
- — Гъвкаво самостоятелно решение за мониторинг/табло на метриките на PostgreSQL.
- — Предоставя метрики за вашата Postgres база данни.
Zabbix
- — Мониторинг агент за PostgreSQL.
- — Orabbix е плъгин, проектиран да работи с Zabbix Enterprise Monitor за предоставяне на многостепенно мониторинг, доклади за производителност и наличност и измервания за Oracle бази данни, заедно с метрики на производителността на сървъра.
- — Това е шаблон за мониторинг Zabbix за PostgreSQL база данни.
- — Python скрипт за мониторинг на Oracle бази данни.
- — ZabbixDBA е бърз, гъвкав и непрекъснато развиващ се плъгин за мониторинг на вашия RDBMS.
Тестване
- — Рамка за тестване на бази данни, която поддържа лесно развитие на тестове за вашия код за бази данни.
- — Регресионно тестване на вашите SQL заявки.
Генератор на данни
- — Това е рамка за генериране на реалистични и валидни данни за тестване с високи обеми за вашата система под тест (избягвайки антишаблона Datalite).
- — Мощен GUI инструмент за създаване на масивни обеми от реалистични данни за тестване.
- — Малък, но мощен GUI инструмент за попълване на Oracle схеми с огромни обеми от реалистични данни за тестване.
- — Мощен GUI инструмент за бързо генериране на значими данни за тестване за бази данни.
Administration
- — Бърз анализатор на логове за PostgreSQL.
- — Управление на ролите на кластер на Postgres, членства в роли, собственост на схеми и привилегии.
- — Партициониране на Postgres толкова лесно, колкото парче торта.
HA/Failover/Шардинг
- — Разширение на Postgres, което разпределя вашите данни и запитвания между множество възли.
- — Шаблон за висока наличност на PostgreSQL с ZooKeeper, etcd или Consul.
- — Решение с висока скалируемост за клъстери на MySQL и висока наличност.
- — Мениджър на PostgreSQL, създаден за облака, за висока наличност на PostgreSQL.
- — Разширение и услуга на Postgres за автоматизирано превключване при повреда и висока наличност.
- — Мониторинг на репликацията на PostgreSQL и демон за превключване при повреда.
- — Висока наличност за Postgres, базирана на индустриални референции Pacemaker и Corosync.
- — Клъстер на PostgreSQL с висока наличност (базиран на "Patroni" и "DCS(etcd)"). Автоматизиране на разгръщането с Ansible.
- — Система за клъстериране на бази данни за хоризонтално мащабиране на MySQL чрез обобщени шардове.
Kubernetes
- — Улесняване на работата с производствени бази данни в Kubernetes.
- — Postgres операторът позволява изграждането на високо налични PostgreSQL клъстери на Kubernetes (K8s), задвижвани от Patroni.
- — HA PostgreSQL клъстери с Docker.
- — PostgreSQL от клас на предприятия, Full Stack на Kubernetes.
Настройка на конфигурацията
- — Скрипт, написан на Perl, който позволява бързо преглеждане на инсталация на MySQL и правене на корекции за повишаване на производителността и стабилността.
- — Безплатен онлайн инструмент за генериране на оптимизирани
postgresql.conf. - — Магьосник за конфигурация на PostgreSQL.
- — Прост скрипт за анализ на конфигурацията на вашата PostgreSQL база данни и предоставяне на съвети за настройка.
DevOps
- — DBmaestro ускорява цикъла на пускане и подкрепя гъвкавостта в цялата ИТ екосистема.
- — Toad DevOps Toolkit изпълнява ключови функции за разработка на бази данни в рамките на вашия DevOps работен процес — без да компрометира качеството, производителността или надеждността.
Примери за схеми
- — Примерни схеми на Oracle Database.
Отчитане
- — Приложение за SQL отчети, лесно за използване, предназначено за любителите на SQL.
Разпределения
- — Инструмент, който лесно разгръща MySQL база данни.
- — PowerShell модул, който можете да си представите като команден ред SQL Server Management Studio.
- — Пълнофункционална инсталация на PostgreSQL, опакована като стандартно приложение за Mac.
- — Разпределение на Postgres, удобно за разработчици.
- — Уеб-базиран интерфейс за управление на PostgreSQL, който обединява няколко инструмента и приложения за работа с PostgreSQL.
Сигурност
- — Комплект за сигурност на бази данни. Прокси за бази данни с криптиране на ниво поле, търсене в криптирани данни, предотвратяване на SQL инжекции, откриване на нахлувания, примамки. Подпомага криптиране както от страна на клиента, така и от страна на проксито ("прозрачно"). SQL, NoSQL.
Форматиращи кодове
- — Язиково-агностично красиво форматиране чрез машинно обучение.
Contributing
- Вашите приноси винаги са добре дошли! Моля, прочетете първо.
Имате находки за БД — споделете. Също така ще се радвам да получа обратна връзка — PR’и и звездички. Останали са въпроси относно създаването на ваши собствени листи — също пишете.
Източник: habr.com
