
Ahoj, Habr! Snad každý z nás má nějaký soubor, kam si schováváme užitečné a zajímavé informace. Odkazy na články, knihy, repozitáře, manuály. Mohou to být záložky v prohlížeči nebo dokonce jen otevřené karty, které jsme si nechali na později. Časem se to vše nakumuluje, odkazy přestanou fungovat a většina materiálů se jednoduše zastará.
A co kdybychom tuto hodnotu sdíleli s komunitou a nahráli tento soubor na GitHub? Vaše úsilí by mohlo být užitečné i někomu jinému a aktuálnost by se dala udržovat společně, přijímáním aktualizací od ochotných přes staré dobré PR. Přesně k tomu je určen projekt . Ten se řadí mezi TOP 10 repozitářů na GitHubu, má 138K hvězdiček, a odkaz na vaše úsilí by se mohl ocitnout přímo v jeho základním README, což přitáhne obrovské publikum k vaší tvorbě. Pravda, trochu práce to bude chtít. O svých zkušenostech s takovým úsilím se chci s vámi podělit.
Jmenuji se Maxim Gramin. V KROK se zabývám vývojem v Javě a výzkumem v oblasti databází. V tomto příspěvku vám povím, co je Awesome Lists a jak vytvořit svůj skutečně oficiální awesome-repo.
Co jsou Awesome Lists
Když se chystám prozkoumat nějakou novou technologii nebo programovací jazyk, jako první jdu sem — najdu odpovídající sekci a v ní příslušné seznamy. A podle počtu hvězdiček a jejich neustálého růstu to nedělám jen já.

Ve skutečnosti je to obyčejný plochý readme.md, který žije v samostatném , přičemž se umisťuje na 8. místě mezi všemi repozitáři GitHubu a zahrnuje odkazy na další seznamy týkající se určitého tématu. Například v sekci Programovací jazyky můžete najít seznamy Awesome Python a Awesome Go, a ve Front-End Development je obrovské množství zdrojů pro WEB vývoj. A samozřejmě — sekce (k ní se ještě vrátíme později). A ano, to vše není omezeno jen na technická témata. Například v sekcích Zábava a Hraní se také dají najít zajímavé věci (mě osobně potěšilo ).
Hlavní zvláštností je, že všechny tyto seznamy není vedeny osobně autorem, ale komunitou a jsou sestaveny podle speciálního a velmi přísného Každý takový seznam je samostatným společenstvím specialistů, žije svým životem a je otevřen pro vaše pull requesty, které ho udělají ještě lepším. A také kdokoli si může vytvořit svůj vlastní seznam, pokud nějaké téma ještě nebylo pokryto.
Autorem myšlenky a koordinátorem celého tohoto podniku je legendární Sindre Sorhus, , autor více než , a právě on bude přijímat vaše PR.

Jak se dostat do awesome-list
Pokud jste náhodou nenašli vhodný seznam na téma, které vás zajímá, je to první znak toho, že je potřeba si ho udělat sám!
Podívám se na příkladu svého díla — Z projektu do projektu musím pracovat s nejrůznějšími databázemi, a proto jsem si vytvořil takový soubor, ve kterém jsem shromažďoval užitečné nástroje pro práci s nimi, různé DB migrátory, IDE, administrační panely, monitorovací nástroje a spoustu dalších věcí. Nástroje, které jsem už použil, nebo které jsem teprve plánoval začít používat. Sdílel jsem tento soubor se svými kolegy ve společnosti KROK a mimo ni. Mnoha lidem to pomohlo a bylo to zajímavé. Nakonec jsem zatoužil po větší slávě, když jsem si jednou všiml, že v sekci Databases právě není seznam na toto téma. A rozhodl jsem se přidat svůj.
Co k tomu potřebujete?
- Registrováme obyčejné GitHub repo s názvem typu awesome-něco. V mém případě to bylo awesome-database-tools.
- Přizpůsobíme svůj seznam formátu awesome, s tím nám pomůže , který vygeneruje všechny potřebné soubory ve správném formátu.
- Nastavíme skutečný CI. a travis ci nám pomohou kontrolovat našeho seznamu.
- Čekáme 30 dní.
- Děláme recenzi alespoň na 2 cizí PR.
- A nakonec děláme PR do hlavního repa, kde přidáme odkaz na své repo. Je potřeba si vše pozorně přečíst a pečlivě splnit všechny četné požadavky na nový seznam a samotný PR.
Moje první pokus

Ale uběhlo trochu času, shromáždil jsem ještě více materiálu, pracoval jsem na chybách a odvážil se na .
Ale zapomněl jsem na jednu velmi důležitou věc, na kterou mi jemně naznačili:

Nebyl jsem příliš pozorný a nepřidal jsem jednorožce jako potvrzení, že všechny podmínky byly splněny.

Poté uběhl ještě nějaký čas, ještě nějaké úpravy podle připomínek a objevil se dlouho očekávaný , že moje PR bylo přijato.
Tak jsem se stal autorem svého prvního seznamu a začaly mi přicházet z komunity na přidání nových nástrojů. A mnoho z nich už bylo zahrnuto v . Pokud se vám nechce přecházet na odkaz,
zde je aktuální výběr k datu publikace příspěvku
Awesome Database Tools,
Seznam nástrojů pro databáze vedený komunitou
Zde shromáždíme informace o úžasných užitečných a také experimentálních nástrojích, které usnadňují práci s databázemi pro DBA, DevOps, vývojáře a obyčejné smrtelníky.
Neváhejte přidat informace o svých vlastních nástrojích db nebo o svých oblíbených nástrojích třetích stran.
Obsah
IDE
- — Prémiový vícerozměrný administrační nástroj pro správu, řízení a rozvoj databáze.
- — Aqua Data Studio je produktivní software pro vývojáře databází, DBA a analytiky.
- — Víceúčelový nástroj pro správu databází s podporou pro 20+ databází.
- — IDE pro databáze a SQL od JetBrains, které je multiplatformní.
- — Bezplatný univerzální správce databází a SQL klient.
- — Univerzální IDE pro vývoj, správu a administraci databází MySQL a MariaDB.
- — Výkonné IDE pro správu, administraci a vývoj Oracle.
- — GUI nástroj pro správu a vývoj databází a objektů.
- — Výkonné integrované vývojové prostředí pro vývoj, správu, administraci, analýzu dat a reportování pro SQL Server.
- — Moderní (JavaScript/Electron framework), open source IDE pro MongoDB. Podporuje vývoj, administraci a ladění výkonu databází MongoDB.
- — Komplexní GUI nástroj pro Firebird a InterBase.
- — Lehký klient pro správu MySQL, MSSQL a PostgreSQL, napsaný v Delphi.
- — MySQL Workbench je jednotný vizuální nástroj pro architekty databází, vývojáře a DBA.
- — Nástroj pro vývoj databází, který vám umožňuje současně se připojit k databázím MySQL, MariaDB, SQL Server, Oracle, PostgreSQL a SQLite z jedné aplikace.
- — Oracle SQL Developer je bezplatné integrované vývojové prostředí, které zjednodušuje vývoj a správu Oracle Database jak v tradičních, tak v cloudových nasazeních.
- — Nejoblíbenější a nejbohatší na funkce Open Source administrační a vývojová platforma pro PostgreSQL, nejpokročilejší open source databázi na světě.
- — Dlouhodobá podpora pro pgAdmin3.
- — IDE, které je speciálně zaměřeno na vývoj uložených programových jednotek pro Oracle databáze.
- — Kompletní a výkonný nástroj pro správu, administraci a vývoj databází pro PostgreSQL.
- — Toad je přední databázové řešení pro vývojáře, administrátory a datové analytiky. Spravujte složité změny databáze s jedním nástrojem pro správu databází.
- — Zjednodušený nástroj pro vývoj databází pro MySQL a Postgres.
- — TOra je open source SQL IDE pro databáze Oracle, MySQL a PostgreSQL.
- — Vytvářejte, spravujte, dotazujte a prozkoumávejte databáze Valentina DB, MySQL, MariaDB, PostgreSQL a SQLite ZDARMA.
GUI Správci/Klienti
- — Správa databází v jednom PHP souboru.
- — Univerzální databázový nástroj pro vývojáře, DBA a analytiky.
- — Firemní ClickHouse Ops uživatelské rozhraní pro spuštění dotazů, monitorování zdraví ClickHouse a provádění mnoha dalších úkolů.
- — Přímý přístup k SQL všem vašim datům, bez ohledu na to, kde jsou uložená.
- — Webový nástroj pro správu databází.
- — Webový prohlížeč databází pro PostgreSQL, napsaný v Go, funguje na macOS, Linux a Windows.
- — Webový nástroj pro administraci databáze SQLite napsaný v PHP s podporou pro SQLite3 a SQLite2.
- — Webové rozhraní pro MySQL a MariaDB.
- — PSequel poskytuje čisté a jednoduché rozhraní pro rychlé provádění běžných úloh PostgreSQL.
- — Moderní, spolupracující SQL editor pro váš tým.
- — Moderní PostgreSQL klient pro Mac.
- — Robo 3T (dříve Robomongo) je shell-centrický multiplatformní nástroj pro správu MongoDB.
- — Sequel Pro je rychlá, snadno použitelná aplikace pro správu databází pro Mac, která pracuje s MySQL & MariaDB databázemi.
- — Nástroj pro správu dat, který umožňuje práci se SQL Serverem, Azure SQL DB a SQL DW z Windows, macOS a Linuxu.
- — Grafické rozhraní podporuje všechny funkce SQLite.
- — Webový SQL editor, běžící ve vašem soukromém cloudu.
- — Jednoduchý, výkonný správce PostgreSQL pro macOS.
- — Grafický SQL klient napsaný v Javě, který vám umožní zobrazit strukturu JDBC kompatibilní databáze, procházet data v tabulkách, vykonávat SQL příkazy atd.
- — Správa databází pro VSCode.
- — Nejdokonalejší a nejjednodušší GUI pro MySQL.
- — SQL Editor & otevřený zdrojový nástroj pro jednoduchou podnikatelskou inteligenci pro Clickhouse.
- — Moderní, nativní a přátelské GUI pro relační databáze: MySQL, PostgreSQL, SQLite & více.
- — Webové administrační GUI PostgreSQL — používejte své databáze PostgreSQL odkudkoli, s bohatým, rychlým AJAX webovým rozhraním.
CLI nástroje
- — Připojte se k databázi pro vykonávání SQL příkazů v IPythonu nebo IPython Notebooku.
- — CLI pro Redis s automatickým doplňováním a zvýrazněním syntaxe.
- — Administrativní nástroj podobný top pro PostgreSQL.
- — Aplikace podobná top pro sledování činnosti serveru PostgreSQL.
- — 'top' pro PostgreSQL.
- — Paginátor pro Postgres.
- — Oracle SQL Developer Command Line (SQLcl) je bezplatné rozhraní příkazového řádku pro Oracle Database.
- — Univerzální rozhraní příkazového řádku pro PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, včetně NoSQL a nerelačních databází!
dbcli
- — AthenaCLI je CLI nástroj pro službu AWS Athena, který dokáže automaticky doplňovat a zvýrazňovat syntaxi.
- — CLI pro SQLite databáze s automatickým doplňováním a zvýrazněním syntaxe.
- — Příkazový klient pro SQL Server s automatickým doplňováním a zvýrazněním syntaxe.
- — Terminálový klient pro MySQL s automatickým doplňováním a zvýrazněním syntaxe.
- — Postgres CLI s automatickým doplňováním a zvýrazněním syntaxe.
- — Vertica CLI s automatickým doplňováním a zvýrazněním syntaxe.
Navigace a vizualizace DB-schématu
- — Rychlý a jednoduchý nástroj pro kreslení diagramů vztahů vaší databáze a jejich rychlé vytvoření pomocí jednoduchého DSL jazyka.
- — Nástroj pro generování diagramů entitních vztahů.
- — Bezplatný nástroj pro objevování a porozumění schématu databáze.
- — Generování vaší databáze do HTML dokumentace, včetně diagramů entitních vztahů.
- — Nástroj přátelský k CI pro dokumentaci databáze, napsaný v Go.
Modelovací nástroje
- — Výkonný a cenově dostupný nástroj pro návrh databází, který vám pomůže vytvářet kvalitní konceptuální, logické a fyzické datové modely.
- — Oracle SQL Developer Data Modeler je bezplatný grafický nástroj, který zvyšuje produktivitu a zjednodušuje úkoly modelování dat.
- — Nástroj pro modelování dat navržený pro PostgreSQL.
Nástroje pro migraci
- — Nástroj pro konfiguraci databáze jako kód, který využívá koncept idempotentních DDL skriptů.
- — Nástroj pro migraci databáze.
- — Online migrace schémat pro MySQL.
- — Knihovna nezávislá na databázi pro sledování, správu a aplikaci změn schématu databáze.
- — Podobné diff, ale pro schémata PostgreSQL.
- — Správa migrací databází Node.js vyvinutá výhradně pro Postgres. (Může být také použita pro jiné databáze vyhovující SQL standardu — např. CockroachDB.)
- — Poskytuje nástroje pro popis schématu databáze PostgreSQL jako YAML.
- — Operator Kubernetes pro deklarativní správu schémat databáze (gitops pro schémata databáze).
- — Rozumná správa změn nativní databáze pro vývoj bez rámce a spolehlivé nasazení.
- — Ještě jeden nástroj pro verzování schémat a migraci vytvořený pouze s nativním .NET Core 3.0+ a doufejme, že lépe.
Nástroje pro generování kódu
- — Odvozuje SQL DDL (Jazyk pro definici dat) z dat tabulek.
- — Příkazový řádek pro export schématu Oracle do sady init skriptů DDL s možností filtrovat nežádoucí informace, separovat DDL do různých souborů, hezké formátování výstupu.
Obaly
- — Open source REST API backend pro mobilní, webové a IoT aplikace.
- — Extrémně rychlé, okamžité realtime GraphQL API na Postgres s jemně odstupňovanou kontrolou přístupu, také spouští webhooky na události databáze.
- — SQL pro JSON a CSV streamy.
- — Cizí datový obal PostgreSQL pro MySQL.
- — Střední Java aplikace, ORDS mapuje HTTP(S) verbe (GET, POST, PUT, DELETE atd.) na transakce databáze a vrací jakékoli výsledky formátované pomocí JSON.
- — Prisma promění vaši databázi na realtime GraphQL API.
- — REST API pro jakoukoli databázi Postgres.
- — Je způsob, jak servírovat RESTful API z jakékoli databáze napsané v Go.
- — Generátor SQL s Java a HTTP API, používá jednoduché RESTful HTTP API s XML nebo JSON serializací.
- — Snadno převést vaši SQL databázi na REST API.
- — Automaticky generujte RESTful API službu pro svou starou databázi.
- — Pokročilý REST a UI wrapper pro vaše SQL dotazy.
Nástroje pro zálohování
- — Spolehlivá záloha a obnova PostgreSQL.
- — Správce zálohování a obnovy pro PostgreSQL.
Replikace/Datové operace
- — Nástroj pro průzkum a publikaci dat.
- — Služba pro přenos distribuovaných dat pro MySQL.
- — Synchronizujte data Postgres mezi databázemi.
- — Systém replikace MySQL do PostgreSQL napsaný v Pythonu 3. Systém používá knihovnu mysql-replication k načítání obrazů řádků z MySQL, které jsou ukládány do PostgreSQL jako JSONB.
- — Webový server v Golangu pro streamování změn Postgres alespoň jednou přes websockets, používající funkci logického dekódování Postgres.
- — Nejoblíbenější správce replikace pro PostgreSQL.
Skripty
- — Kolekce užitečných malých skriptů pro analýzu a správu databází, vytvořená naším týmem PostgreSQL Experts.
- — Dotazy k měření statistického bloatu v indexech a tabulkách pro PostgreSQL.
- — SQL test, který kontroluje, zda vaše databáze dodržuje pravidla z .
- — Užitečné nástroje PostgreSQL.
- — Užitečné SQL skripty a příkazy od .
- — Chybějící sada užitečných nástrojů pro Postgres DBA a všechny inženýry.
- — Užitečné dotazy a příkazy pro PostgreSQL.
- — Tyto skripty sqlplus jsou pro optimalizaci výkonu a řešení problémů s databází Oracle.
Monitoring/Statistika/Výkon
- — Poskytuje grafický pohled na data aktivní historie relací v Oracle a PostgreSQL DB.
- — Bezagentový a nákladově efektivní nástroj pro monitorování MySQL.
- — Sledujte výkon svého SQL Serveru na Linuxu pomocí collectd, InfluxDB a Grafana.
- — Bezpečný, jednoduchý a bezagentový nástroj pro dálkové monitorování serveru, který je nabitý silnými funkcemi pro co nejúčinnější monitorování.
- — Otevřená platforma pro správu a monitorování výkonu MySQL a MongoDB.
- — Statistický sběrač pganalyze pro shromažďování metrik a logů PostgreSQL.
- — Diagnostický nástroj nové generace, který umožňuje uživatelům provádět hlubokou analýzu stavu databází Postgres.
- — Exportér Prometheus pro metriky serverů PostgreSQL.
- — Měří a sleduje každý aspekt vašich databází PostgreSQL.
- — Přehledová plocha pro Postgres — kontroly stavu, navrhované indexy a další.
- — Shromažďuje a zobrazuje informace a statistiky z běžícího serveru PostgreSQL.
- — Uživatelské rozhraní pro plány vysvětlení Postgres, plus tipy na zlepšení výkonu.
- — Shromažďuje statistiky PostgreSQL a buď je ukládá do CSV souborů nebo tiskne do stdout.
- — Flexibilní samostatné řešení pro monitorování metrik PostgreSQL/dashboarding.
- — Poskytuje metriky pro vaši databázi postgres.
Zabbix
- — Monitorovací agent pro PostgreSQL.
- — Orabbix je plugin určený k práci se Zabbix Enterprise Monitor pro poskytování vícestupňového monitorování, reportování a měření výkonu a dostupnosti pro databáze Oracle společně s metrikami výkonu serveru.
- — Toto je monitorovací šablona Zabbix pro databázi PostgreSQL.
- — Python skript pro monitorování databází Oracle.
- — ZabbixDBA je rychlý, flexibilní a neustále se vyvíjející plugin pro monitorování vašeho RDBMS.
Testování
- — Rámec pro testování databází, který podporuje snadný testovaný vývoj vašeho databázového kódu.
- — Regresní testování vašich SQL dotazů.
Generátor dat
- — Je to rámec pro generování realistických a platných objemových testovacích dat pro váš systém pod testováním (vyhýbání se anti-patternu Datalite).
- — Výkonný GUI nástroj pro vytváření masivního objemu realistických testovacích dat.
- — Malý, ale mocný GUI nástroj pro populaci Oracle schémat s množstvím realistických testovacích dat.
- — Výkonný GUI nástroj pro rychlou generaci smysluplných testovacích dat pro databáze.
Správa
- — Rychlý analyzátor logů PostgreSQL.
- — Spravuje role, členství rolí, vlastnictví schémat a oprávnění v PostgreSQL clusteru.
- — Dělení Postgres je tak snadné jako koláč.
HA/Failover/Sharding
- — Rozšíření Postgres, které distribuuje vaše data a vaše dotazy mezi více uzly.
- — Šablona pro vysoce dostupný PostgreSQL s ZooKeeper, etcd nebo Consul.
- — Řešení pro vysokou škálovatelnost pro clustering MySQL a vysokou dostupnost.
- — Manager PostgreSQL v cloudu pro vysokou dostupnost PostgreSQL.
- — Rozšíření a služba Postgres pro automatizovaný failover a vysokou dostupnost.
- — Monitorování replikace PostgreSQL a daemon pro failover.
- — Vysoká dostupnost pro Postgres, založená na industriálních standardech Pacemaker a Corosync.
- — Vysoce dostupný cluster PostgreSQL (založený na "Patroni" a "DCS(etcd)"). Automatizace nasazení pomocí Ansible.
- — Systém pro clustering databází pro horizontální škálování MySQL prostřednictvím zobecněného shardingu.
Kubernetes
- — Umožňuje jednoduché provozování produkčně připravených databází na Kubernetes.
- — Postgres Operator umožňuje vysoce dostupné PostgreSQL clustery na Kubernetes (K8s), poháněný Patroni.
- — HA PostgreSQL Clustry s Dockerem.
- — Podnikatelsky kvalitní, plně vybavený PostgreSQL na Kubernetes.
Ladění konfigurace
- — Skript napsaný v Perlu, který umožňuje rychle zkontrolovat instalaci MySQL a upravit ji pro zvýšení výkonu a stability.
- — Bezplatný online nástroj pro generování optimalizovaného
postgresql.conf. - — Průvodce konfigurací PostgreSQL.
- Jednoduchý skript pro analýzu konfigurace vaší databáze PostgreSQL a poskytování doporučení pro ladění.
DevOps
- DBmaestro urychluje cykly vydávání a podporuje agilitu v celém IT ekosystému.
- Toad DevOps Toolkit provádí klíčové funkce vývoje databází v rámci vašeho DevOps pracovního postupu – aniž by kompromitoval kvalitu, výkon nebo spolehlivost.
Vzory schémat
- Ukázkové schémata databáze Oracle.
Reportování
- Jednoduchá aplikace pro SQL reporting, vytvořená pro milovníky SQL.
Distribuce
- Nástroj, který snadno nasazuje databázové servery MySQL.
- Modul PowerShell, který si můžete představit jako příkazový řádek SQL Server Management Studia.
- Plně vybavená instalace PostgreSQL zabalená jako standardní aplikace pro Mac.
- Distribuce Postgres přátelská pro vývojáře.
- Webové rozhraní pro správu PostgreSQL, které zahrnuje několik utilit a aplikací pro použití s PostgreSQL.
Bezpečnost
- Sada zabezpečení databáze. Základní proxy s šifrováním na úrovni polí, vyhledávání v šifrovaných datech, prevence SQL injekcí, detekce narušení, honeypoty. Podporuje šifrování na straně klienta i proxy ("transparentní"). SQL, NoSQL.
Formátovače kódu
- Jazykově nezávislé formátování pomocí strojového učení.
Přispívání
- Vaše příspěvky jsou vždy vítány! Prosím, přečtěte si nejprve.
Máte-li nálezy pro DB – podělte se. Rád také přijmu zpětnou vazbu – PR a hvězdičky. Zůstaly-li otázky k vytváření vlastních seznamů – také pište.
Zdroj: habr.com
