
Pozdrav, Habr! Vjerojatno svi imamo neku datoteku u kojoj čuvamo korisne i zanimljive stvari za sebe. Također, to mogu biti linkovi na članke, knjige, repozitorije, upute. Mogu biti obilježene u pregledniku ili čak otvorene kartice koje ostavljamo za kasnije. S vremenom se sve to nakuplja, linkovi prestaju raditi, a veći dio materijala postaje jednostavno zastario.
A što ako podijelite te korisne resurse s zajednicom i objavite tu datoteku na GitHubu? Tako će vaši radovi možda biti korisni i nekome drugome, a održavanje ažurnosti može se provoditi zajednički, prihvaćajući ažuriranja od onih koji žele putem dobrih starih PR-ova. U tu svrhu je namijenjen projekt . On se nalazi u TOP-10 repozitorija na GitHubu, ima 138K zvjezdica, a link na vaše radove može se naći direktno u njegovom korijenskom README-u, što može privući ogroman broj ljudi ka vašem radu. Ipak, za to će biti potrebno malo truda. O svom iskustvu u tim naporima želim podijeliti s vama.
Zovem se Maksim Gramin. U KROK-u se bavim Java razvojem i istraživanjima u području baza podataka. U ovom postu ću objasniti što je Awesome Lists i kako napraviti svoje pravo službeno awesome-repo.
Što je Awesome Lists
Kada se želim snaći s nekom novom tehnologijom ili programskim jezikom, prvo idem ovdje — pronalazim potrebni odjeljak, a u njemu odgovarajuće popise. I prema broju zvjezdica i njihovom stalnom rastu, ne radim to samo ja.

U stvarnosti — to je običan ravni readme.md, koji živi u odvojenom , zauzima 8. mjesto među svim repozitorijima GitHub-a i uključuje linkove prema drugim popisima koji se bave određenom tematikom. Na primjer, u odjeljku Programski jezici možete pronaći popise Awesome Python i Awesome Go, a u razvoju Front-End-a ima bezbroj resursa za WEB razvoj. Naravno, tu je i odjeljak (k njemu ćemo se još vratiti malo kasnije). I da, sve ovo se ne ograničava samo na tehničke teme. Na primjer, u odjeljcima Zabava i Igre također se može pronaći mnogo zanimljivog (mene osobno obradovao je ).
Glavna karakteristika je da sve te popise vodi ne osobno autor, već zajednica i sastavljeni su u skladu sa posebnim i vrlo strogim . Svaki takav popis predstavlja samostalnu zajednicu stručnjaka, živi svojim životom i otvoren je za vaše pull requestove koji će ga učiniti još boljim. Također, svatko tko želi može napraviti svoj vlastiti popis ako neka tema još nije obrađena.
Autor ideje i koordinator svega ovoga — legendarni Sindre Sørhus, , autor više od , i upravo će on prihvaćati vaše PR-ove.

Kako doći do awesome-list
Ako slučajno niste pronašli odgovarajući popis na temu koja vas zanima, to je prvi znak da ga trebate napraviti sami!
Objasnit ću na primjeru svog djeteta — Od projekta do projekta moram raditi s raznim bazama podataka, pa sam stvorio takvu datoteku u kojoj sam skupljao korisne alate za rad s njima, razne BD-migratore, IDE-ove, admin panele, alate za nadzor i razno razno. Alati koje sam već koristio ili sam samo planirao primijeniti. Dijelio sam tu datoteku s kolegama u KROK-u i izvan njega. To je mnogima pomoglo i bilo je zanimljivo. Na kraju sam poželio veće slave kada sam primijetio da u odjeljku Baze podataka nema popisa na tu temu. I odlučio sam dodati svoj.
Što je potrebno za to?
- Registriramo obični GitHub repozitorij s imenom u obliku awesome-nešto. U mom slučaju to je bio awesome-database-tools.
- Pripremamo svoj popis prema awesome formatu, u tome će nam pomoći , koji će generirati sve potrebne datoteke u pravom formatu.
- Postavljamo pravi CI. i travis ci pomoći će nam da kontroliramo našeg popisa.
- Čekamo 30 dana,
- radimo recenziju najmanje 2 strana PR-a,
- I naposljetku radimo PR u glavni repozitorij, gdje dodajemo vezu na svoj repozitorij. Ovdje je važno pažljivo pročitati i pomno ispuniti sve brojne zahtjeve za novi popis i sam PR.
Moj prvi pokušaj

Ali je prošlo malo vremena, skupio sam još više materijala, radio na greškama i odvažio se na .
Ali zaboravio sam na jednu vrlo važnu stvar, na što su mi nježno ukazali:

Bio sam malo nepažljiv i nisam dodao jednoroga kao znak potvrde da su svi uvjeti ispunjeni.

Nakon toga je prošlo još malo vremena, malo ispravka prema primjedbama, i pojavila se dugo očekivana , da je moj PR prihvaćen.
Tako sam postao autor svog prvog popisa, i počeli su mi stizati iz zajednice za dodavanje novih alata. I mnogi od njih su već uključeni u . Ako vam se ne da prelaziti na link,
evo aktuelnog popisa u trenutku objave posta
Awesome Database Tools
Popis alata za baze podataka koji pokreće zajednica
Ovdje ćemo prikupiti informacije o odličnim korisnim i eksperimentalnim alatima koji pojednostavljuju rad s bazama podataka za DBA, DevOps, programere i obične smrtnike.
Slobodno dodajte informacije o vašim vlastitim alatima za baze podataka ili omiljenim alatima trećih strana.
Sadržaj
IDE
- — Premijerni alat za upravljanje, kontrolu i razvoj baza podataka.
- — Aqua Data Studio je softver za produktivnost za programere baza podataka, DBA-e i analitičare.
- — Alat za upravljanje više baza podataka s podrškom za više od 20 baza podataka.
- — IDE za baze podataka i SQL od JetBrains-a koji je dostupan na više platformi.
- — Besplatni univerzalni upravitelj baza podataka i SQL klijent.
- — Univerzalni IDE za razvoj, upravljanje i administraciju MySQL i MariaDB baza podataka.
- — Moćan IDE za upravljanje, administraciju i razvoj Oracle-a.
- — GUI alat za upravljanje i razvijanje baza podataka i objekata.
- — Moćno integrirano razvojno okruženje za razvoj, upravljanje, administraciju, analizu podataka i izvještavanje SQL Server-a.
- — Moderni (JavaScript/Electron okvir), open-source IDE za MongoDB. Ima funkcije za podršku razvoju, administraciji i optimizaciji performansi na MongoDB bazama.
- — Sveobuhvatni GUI alat za Firebird i InterBase.
- — Lagani klijent za upravljanje MySQL, MSSQL i PostgreSQL, napisan u Delphiju.
- — MySQL Workbench je jedinstven vizualni alat za arhitekte baza podataka, programere i DBA-e.
- — Alat za razvoj baza podataka koji vam omogućava da se istovremeno povežete na MySQL, MariaDB, SQL Server, Oracle, PostgreSQL i SQLite baze podataka iz jedne aplikacije.
- — Oracle SQL Developer je besplatno, integrirano razvojno okruženje koje pojednostavljuje razvoj i upravljanje Oracle bazama u tradicionalnim i Cloud implementacijama.
- — Najpopularnija i najbogatija platforma otvorenog koda za administraciju i razvoj PostgreSQL-a, najnaprednije otvorene baze podataka na svijetu.
- — Dugoročna podrška za pgAdmin3.
- — IDE posebno usmjeren na razvoj pohranjenih programskih jedinica za Oracle baze podataka.
- — Potpun i moćan alat za upravljanje, administraciju i razvoj PostgreSQL-a.
- — Toad je vodeće rješenje za baze podataka za programere, administratore i analitičare podataka. Upravite složenim promjenama baze podataka s jednim alatom za upravljanje bazama podataka.
- — Pojednostavljeni alat za razvoj baza podataka za MySQL i Postgres.
- — TOra je open-source SQL IDE za Oracle, MySQL i PostgreSQL baze.
- — Kreirajte, administrirajte, pretražujte i istražujte Valentina DB, MySQL, MariaDB, PostgreSQL i SQLite baze potpuno BESPLATNO.
GUI menadžeri/klijenti
- — Upravljanje bazama podataka u jednoj PHP datoteci.
- — Univerzalni alat za baze podataka za programere, DBA-e i analitičare.
- — Poduzetnička ClickHouse Ops UI za pokretanje upita, praćenje zdravlja ClickHouse-a i još mnogo drugih stvari.
- — Direktni SQL pristup svim vašim podacima, bez obzira gdje se nalaze.
- — Web alat za upravljanje bazama podataka.
- — Web preglednik baza podataka za PostgreSQL, napisan na Go i radi na macOS, Linux i Windows uređajima.
- — Web alat za administraciju SQLite baza podataka napisan u PHP-u s podrškom za SQLite3 i SQLite2.
- — Web sučelje za MySQL i MariaDB.
- — PSequel pruža čist i jednostavan sučelje za brzo izvođenje uobičajenih zadataka na PostgreSQL-u.
- — Moderan, kolaborativni SQL editor za vaš tim.
- — Moderni PostgreSQL klijent za Mac.
- — Robo 3T (prije Robomongo) je alat za upravljanje MongoDB-om usredotočen na shell.
- — Sequel Pro je brza, jednostavna aplikacija za upravljanje bazama podataka na Macu za rad s MySQL i MariaDB bazama podataka.
- — Alat za upravljanje podacima koji omogućuje rad s SQL Serverom, Azure SQL DB i SQL DW s Windows, macOS i Linux-a.
- — Grafičko sučelje podržava sve SQLite značajke.
- — Web-based SQL editor koji radi u vašem vlastitom privatnom oblaku.
- — Jednostavan, moćan upravitelj Postgres-a za macOS.
- — Grafički SQL klijent napisan u Javi koji omogućava pregled strukture JDBC kompatibilne baze podataka, pregled podataka u tablicama, izdavanje SQL komandi itd.
- — Upravljanje bazama podataka za VSCode.
- — Najsveobuhvatniji i najlakši za korištenje MySQL GUI.
- — SQL Editor & otvoreni izvor jednostavne poslovne inteligencije za Clickhouse.
- — Moderni, izvorni i prijateljski GUI alat za relacijske baze podataka: MySQL, PostgreSQL, SQLite i više.
- — PostgreSQL Web administracijski GUI — koristite svoje PostgreSQL baze podataka odakle god, s bogatim, brzim AJAX web sučeljem.
CLI alati
- — Povežite se s bazom podataka i izdajte SQL komande unutar IPython ili IPython Notebooka.
- — CLI za Redis s automatskim dovršavanjem i sintaktičkim isticanjem.
- — Alat za administraciju sličan top-u za PostgreSQL.
- — Aplikacija slična top-u za praćenje aktivnosti PostgreSQL servera.
- — ‘top’ za PostgreSQL.
- — Postgres Pager.
- — Oracle SQL Developer Command Line (SQLcl) je besplatno sučelje naredbenog retka za Oracle bazu podataka.
- — Univerzalno sučelje naredbenog retka za PostgreSQL, MySQL, Oracle bazu podataka, SQLite3, Microsoft SQL Server, uključujući NoSQL i nerelacijske baze podataka!
dbcli
- — AthenaCLI je CLI alat za AWS Athena uslugu koji može izvršiti automatsko dovršavanje i sintaktičko isticanje.
- — CLI za SQLite baze podataka s automatskim dovršavanjem i sintaktičkim isticanjem.
- — Klijent naredbenog retka za SQL Server s automatskim dovršavanjem i sintaktičkim isticanjem.
- — Terminal klijent za MySQL s automatskim dovršavanjem i sintaktičkim isticanjem.
- — Postgres CLI s automatskim dovršavanjem i sintaktičkim isticanjem.
- — Vertica CLI s automatskim dovršavanjem i sintaktičkim isticanjem.
Navigacija i vizualizacija DB-shema
- — Brz i jednostavan alat koji vam pomaže da brzo nacrtate dijagrame odnosa vaših baza podataka i tijek koristeći jednostavni DSL jezik.
- — Alat za generiranje dijagrama entiteta i odnosa.
- — Besplatni alat za otkrivanje i razumijevanje sheme baze podataka.
- — Generiranje HTML dokumentacije vaše baze podataka, uključujući dijagrame entiteta i odnosa.
- — CI-friendly alat za dokumentiranje baze podataka, napisan u Go.
Modeleri
- — Moćan i isplativ alat za dizajn baze podataka koji vam pomaže izgraditi visoko kvalitetne konceptualne, logičke i fizičke modele podataka.
- — Oracle SQL Developer Data Modeler je besplatni grafički alat koji povećava produktivnost i pojednostavljuje zadatke modeliranja podataka.
- — Alat za modeliranje podataka dizajniran za PostgreSQL.
Alati za migraciju
- — Alat za konfiguraciju baza podataka kao koda koji koristi koncept idempotentnih DDL skripti.
- — Alat za migraciju baza podataka.
- — Online migracija sheme za MySQL.
- — Biblioteka neovisna o bazi podataka za praćenje, upravljanje i primjenu promjena u shemi baze podataka.
- — Kao diff, ali za PostgreSQL sheme.
- — Upravljanje migracijama baze podataka u Node.js, izgrađeno isključivo za postgres. (Može se koristiti i za druge DB-ove koji se pridržavaju SQL standarda — npr. CockroachDB.)
- — Pruža alate za opis sheme PostgreSQL baze podataka kao YAML.
- — Kubernetes operater za deklarativno upravljanje shemom baze podataka (gitops za sheme baza podataka).
- — Razumljivo upravljanje promjenama koje su izvorne bazi podataka za razvoj bez okvira i pouzdanu implementaciju.
- — Još jedan alat za verzioniranje i migraciju sheme izrađen isključivo za .NET Core 3.0+ i nadamo se bolji.
Alati za generiranje koda
- — Izvodi SQL DDL (jezik definicije podataka) iz podataka tablica.
- — Alat za naredbeni redak za izvoz Oracle sheme u skup skripti za inicijalizaciju ddl s mogućnošću filtriranja nepoželjnih informacija, odvajanja DDL-u u različite datoteke, lijepo formatiranje izlaza.
Omotači
- — Open source REST API backend za mobilne, web i IoT aplikacije.
- — Izuzetno brzi, trenutni real-time GraphQL API-ovi na Postgresu s fino granularnom kontrolom pristupa, također pokreće webhooks na događaje baze podataka.
- — SQL za JSON i CSV tokove.
- — PostgreSQL strani omotač podataka za MySQL.
- — Aplikacija srednjeg sloja u Javi, ORDS mapira HTTP(S) glagole (GET, POST, PUT, DELETE itd.) na transakcije u bazi podataka i vraća sve rezultate formatirane u JSON-u.
- — Prisma pretvara vašu bazu podataka u real-time GraphQL API.
- — REST API za svaku PostgreSQL bazu podataka.
- — Način za isporuku RESTful API-ja iz bilo koje baze podataka napisan u Go-u.
- — Generator SQL-a s Java i HTTP API-jima, koristi jednostavan RESTful HTTP API s XML ili JSON serijalizacijom.
- — Lako pretvorite svoju SQL bazu podataka u REST API.
- — Automatski generira RESTful API uslugu za vašu naslijeđenu bazu podataka.
- — Napredni REST i UI omotač za vaše SQL upite.
Alati za backup
- — Pouzdana sigurnosna kopija i obnova PostgreSQL.
- — Upravitelj sigurnosnih kopija i oporavka za PostgreSQL.
Replikacija/Operacije s podacima
- — Alat za istraživanje i objavljivanje podataka.
- — Distribuirana usluga prijenosa podataka za MySQL.
- — Sinkronizacija podataka Postgres između baza podataka.
- — Sustav replikacije MySQL-a u PostgreSQL napisan u Pythonu 3. Sustav koristi biblioteku mysql-replication za preuzimanje slika redova iz MySQL-a koje pohranjuje u PostgreSQL kao JSONB.
- — Golang web poslužitelj za streamanje promjena Postgres-a barem-jednom putem websockets, koristeći značajku logičkog dekodiranja Postgres-a.
- — Najpopularniji upravitelj replikacije za PostgreSQL.
Skripte
- — Kolekcija korisnih malih skripti za analizu i administraciju baze podataka, koju je izradila naša ekipa stručnjaka za PostgreSQL.
- — Upiti za mjerenje statističkog rasta u indeksima i tablicama za PostgreSQL.
- — SQL test koji provjerava pridržavate li se pravila iz .
- — Korisne PostgreSQL korisne usluge.
- — Korisni SQL skripti i naredbe od .
- — Nedostajući skup korisnih alata za Postgres DBA-ove i sve inženjere.
- — Korisni PostgreSQL upiti i naredbe.
- — Ove sqlplus skripte služe za optimizaciju performansi Oracle baze podataka i rješavanje problema.
Praćenje/Statistika/Performanse
- — Pruža grafički prikaz podataka o aktivnoj povijesti sesija unutar Oracle i PostgreSQL DB.
- — Alat za praćenje MySQL-a bez agenta i ekonomičan.
- — Pratite performanse vašeg SQL poslužitelja na Linuxu pomoću collectd, InfluxDB i Grafana.
- — Siguran, jednostavan i agenta bez alata za daljinsko praćenje poslužitelja koji je opremljen snažnim značajkama za što učinkovitije praćenje.
- — Platforma otvorenog koda za upravljanje i praćenje performansi MySQL-a i MongoDB-a.
- — Pganalyze kolektor statistike za prikupljanje metričkih podataka i podataka o logovima PostgreSQL-a.
- — Dijagnostički alat nove generacije koji omogućuje korisnicima duboku analizu zdravlja Postgres baza podataka.
- — Prometheus izvođač za metričke podatke PostgreSQL poslužitelja.
- — Mjeri i prati svaki aspekt vaše PostgreSQL baze podataka.
- — Dashboard performansi za Postgres — provjere zdravlja, predloženi indeksi i još mnogo toga.
- — Prikuplja i prikazuje informacije i statistike s aktivnog PostgreSQL poslužitelja.
- — Korisničko sučelje za objašnjenja Postgres planova, plus savjeti za poboljšanje performansi.
- — Prikuplja PostgreSQL statistiku, te je ili sprema u CSV datoteke ili ispisuje na stdout.
- — Fleksibilno samostalno rješenje za praćenje/metričke podatke PostgreSQL-a.
- — Pruža metrike za vašu Postgres bazu podataka.
Zabbix,
- — Agent za praćenje za PostgreSQL.
- — Orabbix je dodatak dizajniran za rad s Zabbix Enterprise Monitorom radi višeslojnog praćenja, izvještavanja o performansama i dostupnosti te mjerenja za Oracle baze podataka, zajedno s metrike performansi poslužitelja.
- — Ovo je Zabbix monitoring predložak za PostgreSQL bazu podataka.
- — Python skripta za praćenje Oracle baza podataka.
- — ZabbixDBA je brz, fleksibilan i kontinuirano razvijajući dodatak za praćenje vašeg RDBMS-a.
Testiranje
- — Okvir za testiranje baza podataka koji podržava lako testiranje vođeno razvojem vašeg koda za bazu podataka.
- — Testiranje regresije vaših SQL upita.
Generator podataka
- — To je okvir za generiranje realističnih i valjanih podataka za testiranje visoke količine za vaš sustav pod testiranjem (izbjegavajući Datalite anti-uzorak).
- — Moćan GUI alat za stvaranje velikih količina realističnih testnih podataka.
- — Mali, ali snažan GUI alat za populaciju Oracle shema s tona realističnih testnih podataka.
- — Moćan GUI alat za brzo generiranje smislenih testnih podataka za baze podataka.
Administracija
- — Brz PostgreSQL analitičar logova.
- — Upravljanje ulogama, članstvima ulogama, vlasništvom sheme i privilegijama Postgres klastera.
- — Postgres particioniranje koliko lako.
HA/Neuspjeh/Shardovanje
- — Postgres proširenje koje distribucira vaše podatke i vaše upite preko više čvorova.
- — Predložak za PostgreSQL visoku dostupnost s ZooKeeperom, etcd-om ili Consul-om.
- — Rješenje za visoku skalabilnost za MySQL klasterizaciju i visoku dostupnost.
- — Cloud native PostgreSQL upravitelj za visoku dostupnost PostgreSQL-a.
- — Postgres proširenje i usluga za automatsko prebacivanje i visoku dostupnost.
- — Postgres SQL replikacijsko praćenje i daemon za prebacivanje.
- — Visoka dostupnost za Postgres, temeljeno na industrijskim referencama Pacemaker i Corosync.
- — PostgreSQL klaster visoke dostupnosti (temeljeno na "Patroni" i "DCS(etcd)"). Automatizacija implementacije s Ansible-om.
- — Sustav klasterizacije baza podataka za horizontalno skaliranje MySQL-a kroz generalizirano dijeljenje.
Kubernetes
- — Olakšavanje rada produkcijskih baza podataka na Kubernetesu.
- — Postgres operator omogućuje visoko dostupne PostgreSQL klastere na Kubernetesu (K8s) potpomognute Patroni.
- — HA PostgreSQL klasteri s Dockerom.
- — PostgreSQL punog paketa na Kubernetesu, klase poduzeća.
Podešavanje konfiguracije
- — Skripta napisana u Perlu koja vam omogućava brzo pregledavanje MySQL instalacije i prilagodbe za povećanje performansi i stabilnosti.
- — Besplatni online alat za generiranje optimiziranog
postgresql.conf. - — Čarobnjak za konfiguraciju PostgreSQL-a.
- — Jednostavan skript za analizu konfiguracije vaše PostgreSQL baze podataka i davanje saveta za optimizaciju.
DevOps
- — DBmaestro ubrzava cikluse izdanja i podržava agilnost cele IT ekosfere.
- — Toad DevOps Toolkit izvršava ključne funkcije razvoja baze podataka unutar vašeg DevOps toka rada — bez kompromisa u kvalitetu, performansama ili pouzdanosti.
Uzorci shema
- — Oracle Database Sample Schemas.
Izvještavanje
- — Lako upotrebljav aplikacija za SQL izveštavanje napravljena za ljubitelje SQL-a.
Distribucije
- — Alat koji lako instalira MySQL servere.
- — PowerShell modul koji možete zamisliti kao komandnu liniju SQL Server Management Studija.
- — Potpuna instalacija PostgreSQL-a pakovana kao standardna Mac aplikacija.
- — Distribucija Postgresa prilagođena razvoju.
- — Web-baziran front-end za upravljanje PostgreSQL-om koji sadrži nekoliko alata i aplikacija za korišćenje sa PostgreSQL-om.
Sigurnost
- — Suite za sigurnost baza podataka. Proxy za bazu podataka sa enkripcijom na nivou polja, pretraga kroz šifrovane podatke, sprečavanje SQL napada, detekcija upada, mamci. Podrška za enkripciju sa strane klijenta i sa proxy strane ("transparentna" enkripcija). SQL, NoSQL.
Formatiranje koda
- — Nezavisno od jezika, lepo formatiranje putem mašinskog učenja.
Doprinos
- Vaši doprinosi su uvek dobrodošli! Molimo vas da pročitate prvo.
Ima li nalaza za baze podataka — podelite. Takođe ću biti srećan da dobijem povratne informacije — PR-ovi i zvezdice. Ako imate pitanja o kreiranju vlastitih listi — takođe pišite.
Izvor: habr.com
