
Bună, Habr! Probabil că fiecare dintre noi are un fișier unde ascunde ceva util și interesant pentru sine. Niște linkuri către articole, cărți, repo-uri, manuale. Acestea pot fi favorite în browser sau chiar tab-uri deschise, lăsate pentru mai târziu. Cu timpul, toate acestea se umflă, linkurile nu mai funcționează, iar cea mai mare parte a materialelor devine pur și simplu învechită.
Dar ce-ar fi să împărtășim această resursă cu comunitatea și să publicăm acest fișier pe GitHub? Atunci, eforturile voastre ar putea fi utile și altora, iar menținerea actualizării ar putea fi făcută în comun, primind actualizări de la doritori prin vechile și bunele PR-uri. Acesta este scopul proiectului . Se află în top 10 de repositorii de pe GitHub, are 138K stele, iar linkul către munca voastră ar putea ajunge direct în README-ul său rădăcină, ceea ce ar atrage o audiență uriașă către creația voastră. Totuși, pentru asta va trebui să depuneți un mic efort. Vreau să împărtășesc cu voi experiența mea în astfel de eforturi.
Mă numesc Maxim Gramin. La KROK mă ocup cu dezvoltarea Java și cercetări în domeniul bazelor de date. În această postare, vă voi explica ce este Awesome Lists și cum să creați un adevărat repo awesome oficial.
Ce sunt Awesome Lists
Când trebuie să învăț o nouă tehnologie sau un nou limbaj de programare, primul lucru pe care îl fac este să vin aici — găsesc secțiunea potrivită, iar în ea listele corespunzătoare. Și, judecând după numărul de stele și creșterea lor constantă, nu sunt singurul care face asta.

De fapt, este un simplu readme.md plat, care trăiește într-un , ocupând în același timp locul 8 între toate repositorile GitHub și include linkuri către alte liste dedicate unei anumite teme. De exemplu, în secțiunea Limbaje de programare, poți găsi listele Awesome Python și Awesome Go, iar în Dezvoltarea Front-End există o mulțime de resurse pentru dezvoltarea WEB. Și, desigur, — secțiunea (la care ne vom întoarce puțin mai târziu). Și da, toate acestea nu se limitează doar la teme tehnice. De exemplu, în secțiunile Distracție și Jocuri poți găsi multe lucruri interesante (personal, m-a încântat ).
Principala caracteristică este că toate aceste liste sunt întreținute nu personal de autor, ci de comunitate și sunt compilate conform unui . Fiecare astfel de listă este o comunitate de specialiști independentă, trăiește propria viață și este deschisă pentru pull request-urile voastre, care o vor face și mai bună. De asemenea, oricine este binevenit să creeze propria listă, dacă un subiect nu a fost deja abordat.
Autorul ideii și coordonatorul întregii acestei activități este legendarul Sindre Sørhus, , autor al mai multor iar el va accepta PR-urile voastre.

Cum să ajungi în awesome-list
Dacă dintr-o dată nu ai găsit o listă potrivită pe subiectul care te interesează, aceasta este prima dovadă că trebuie să o creezi singur!
Voi explica folosind exemplul creației mele, — De-a lungul proiectelor, am lucrat cu cele mai diverse baze de date, iar astfel mi-am creat un fișier în care am adunat uneltele utile pentru lucrul cu ele, diverse migratori DB, IDE-uri, panouri de administrare, instrumente de monitorizare și multe altele. Unelte pe care le-am folosit deja sau pe care intenționam să le încep. Am împărtășit acest fișier colegilor de la KROK și din afara acestuia. Acesta a ajutat multă lume și a fost interesant. În cele din urmă, am dorit mai multă recunoaștere, când am observat că la secțiunea Baze de date, nu exista o listă pe acest subiect. Așa că am decis să contribui acolo.
Ce este necesar pentru asta?
- Înregistrăm un repository GitHub obișnuit cu un nume de genul awesome-ceva. În cazul meu, a fost awesome-database-tools.
- Aducem lista noastră în formatul awesome, în acest sens ne va ajuta care va genera toate fișierele necesare în formatul corect.
- Configurăm un CI adevărat. și travis ci ne vor ajuta să controlăm listei noastre.
- Așteptăm 30 de zile.
- Facem revizuirea a cel puțin 2 PR-uri străine.
- Și în final, facem PR în repository-ul principal, adăugând un link către repository-ul nostru. Aici trebuie să citim cu atenție totul și să respectăm cu strictețe toate cerințele numerose pentru noua listă și pentru PR-ul propriu-zis.
Prima mea încercare

Dar a trecut puțin timp, am adunat și mai multe materiale, am lucrat la greșeli și m-am decis pentru .
Dar am uitat un lucru foarte important, despre care mi s-a sugerat cu blândețe:

Am fost puțin neatenți și nu am adăugat unicornul, ca semn de confirmare că toate condițiile au fost respectate.

Apoi a trecut încă puțin timp, am făcut câteva corecturi, și a apărut mult așteptatul că PR-ul meu a fost acceptat.
Așa am devenit autorul primei mele liste și am început să primesc din comunitate pentru adăugarea de noi unelte. Multe dintre ele sunt deja incluse în . Dacă nu vrei să dai click pe link,
iată o selecție actualizată până la momentul publicării postării
Awesome Database Tools.
Listă de unelte pentru baze de date, bazată pe comunitate
Aici vom colecta informații despre unelte utile și experimentale care simplifică lucrul cu bazele de date pentru DBA, DevOps, dezvoltatori și muritorii de rând.
Simți-te liber să adaugi informații despre uneltele tale de bază de date sau despre uneltele terță parte favorite.
Cuprins
IDE
- — Instrument administrativ multipurpose premium pentru gestionarea bazelor de date, control și dezvoltare.
- — Aqua Data Studio este un software de productivitate pentru dezvoltatorii de baze de date, DBA și analiști.
- — Instrument de gestionare a mai multor baze de date cu suport pentru 20+ baze de date.
- — IDE cross-platform pentru Baze de Date și SQL de la JetBrains.
- — Manager de baze de date universal gratuit și client SQL.
- — IDE universal pentru dezvoltarea, gestionarea și administrarea bazelor de date MySQL și MariaDB.
- — IDE puternic pentru gestionarea, administrarea și dezvoltarea Oracle.
- — Instrument GUI pentru gestionarea și dezvoltarea bazelor de date și obiectelor.
- — Mediu de dezvoltare integrat puternic pentru dezvoltarea, gestionarea, administrarea, analiza datelor și raportarea SQL Server.
- — IDE modern (framework JavaScript/Electron), open source pentru MongoDB. Are funcții pentru suportul dezvoltării, administrării și optimizării performanței pe bazele de date MongoDB.
- — Instrument GUI cuprinzător pentru Firebird și InterBase.
- — Un client ușor pentru gestionarea MySQL, MSSQL și PostgreSQL, scris în Delphi.
- — MySQL Workbench este un instrument vizual unificat pentru arhitecții de baze de date, dezvoltatori și DBA.
- — Un instrument de dezvoltare a bazelor de date care permite conectarea simultană la bazele de date MySQL, MariaDB, SQL Server, Oracle, PostgreSQL, și SQLite dintr-o singură aplicație.
- — Oracle SQL Developer este un mediu de dezvoltare integrat gratuit care simplifică dezvoltarea și gestionarea Oracle Database atât în implementările tradiționale cât și în Cloud.
- — Cea mai populară și bogată în funcții platformă Open Source de administrare și dezvoltare pentru PostgreSQL, cea mai avansată bază de date Open Source din lume.
- — Suport pe termen lung pentru pgAdmin3.
- — IDE care este specific destinat dezvoltării unităților de program stocate pentru bazele de date Oracle.
- — Instrument complet și puternic pentru gestionarea, administrarea și dezvoltarea bazelor de date PostgreSQL.
- — Toad este soluția principală pentru dezvoltatori, administratori și analiști de date. Gestionează modificări complexe ale bazelor de date cu un singur instrument de gestionare a bazelor de date.
- — Instrument simplificat pentru dezvoltarea bazelor de date pentru MySQL și Postgres.
- — TOra este un IDE SQL open source pentru bazele de date Oracle, MySQL și PostgreSQL.
- — Creează, administrează, interoghează și explorează bazele de date Valentina DB, MySQL, MariaDB, PostgreSQL și SQLite GRATUIT.
Manageri/Clienți GUI
- — Gestionarea bazelor de date într-un singur fișier PHP.
- — Instrument universal de baze de date pentru dezvoltatori, DBA și analiști.
- — Interfața ClickHouse Ops pentru întreprinderi pentru a rula interogări, monitoriza sănătatea ClickHouse și a face multe alte lucruri.
- — Acces direct SQL la toate datele tale, indiferent de unde se află.
- — Instrument web pentru gestionarea bazelor de date.
- — Browser bazat pe web pentru baze de date PostgreSQL, scris în Go și care funcționează pe mașini macOS, Linux și Windows.
- — Instrument de administrare a bazelor de date SQLite bazat pe web, scris în PHP, cu suport pentru SQLite3 și SQLite2.
- — O interfață web pentru MySQL și MariaDB.
- — PSequel oferă o interfață curată și simplă pentru a efectua rapid sarcini comune PostgreSQL.
- — Editor SQL modern, colaborativ pentru echipa ta.
- — Un client PostgreSQL modern pentru Mac.
- — Robo 3T (fost Robomongo) este un instrument de gestionare a MongoDB centrat pe shell și multiplatformă.
- — Sequel Pro este o aplicație de gestionare a bazelor de date rapidă și ușor de utilizat pentru lucrul cu bazele de date MySQL & MariaDB.
- — Un instrument de gestionare a datelor care permite lucrul cu SQL Server, Azure SQL DB și SQL DW din Windows, macOS și Linux.
- — Interfața grafică suportă toate funcționalitățile SQLite.
- — Editor SQL bazat pe web care rulează în propriul tău cloud privat.
- — Un manager simplu și puternic pentru Postgres pentru macOS.
- — Client SQL grafic scris în Java care îți va permite să vizualizezi structura unei baze de date compatibile JDBC, să răsfoiești datele în tabele, să emiti comenzi SQL etc.
- — Gestionarea bazelor de date pentru VSCode.
- — Cel mai complet și mai ușor de utilizat GUI MySQL.
- — Editor SQL & sursă deschisă pentru inteligență de afaceri simplă pentru Clickhouse.
- — Instrument GUI modern, nativ și prietenos pentru baze de date relaționale: MySQL, PostgreSQL, SQLite și altele.
- — GUI de administrare web PostgreSQL — folosește bazele tale de date PostgreSQL de oriunde, cu o interfață web AJAX bogată și rapidă.
Unelte CLI
- — Conectează-te la o bază de date pentru a emite comenzi SQL în IPython sau IPython Notebook.
- — Un CLI pentru Redis cu completare automată și evidențiere a sintaxei.
- — Instrument de administrare de tip top pentru PostgreSQL.
- — Aplicație de tip top pentru monitorizarea activității serverului PostgreSQL.
- — ‘top’ pentru PostgreSQL.
- — Pager pentru Postgres.
- — Oracle SQL Developer Command Line (SQLcl) este o interfață de linie de comandă gratuită pentru Oracle Database.
- — O interfață de linie de comandă universală pentru PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, inclusiv baze de date NoSQL și non-relaționale!
dbcli
- — AthenaCLI este un instrument CLI pentru serviciul AWS Athena care poate realiza completare automată și evidențiere a sintaxei.
- — CLI pentru bazele de date SQLite cu completare automată și evidențiere a sintaxei.
- — Un client de linie de comandă pentru SQL Server cu completare automată și evidențiere a sintaxei.
- — Un client Terminal pentru MySQL cu completare automată și evidențiere a sintaxei.
- — CLI pentru Postgres cu completare automată și evidențiere a sintaxei.
- — CLI pentru Vertica cu completare automată și evidențiere a sintaxei.
Navigare și vizualizare schemă DB
- — Instrument rapid și simplu care te ajută să desenezi diagramele relațiilor din baza ta de date și fluxul rapid, folosind un limbaj DSL simplu.
- — Instrument de generare a diagramelor de relație a entităților.
- — Un instrument gratuit pentru descoperirea și înțelegerea schemelor bazei de date.
- — Generând documentația bazei tale de date în HTML, inclusiv diagramele de relație a entităților.
- — Instrument prietenos CI pentru a documenta o bază de date, scris în Go.
Modelatoare
- — Un instrument puternic și rentabil pentru proiectarea bazelor de date, care te ajută să construiești modele de date conceptuale, logice și fizice de înaltă calitate.
- — Oracle SQL Developer Data Modeler este un instrument grafic gratuit care îmbunătățește productivitatea și simplifică sarcinile de modelare a datelor.
- — Instrument de modelare a datelor conceput pentru PostgreSQL.
Unelte de migrare
- — Instrument de configurare a bazei de date ca și cod, care utilizează conceptul scripturilor DDL idempotente.
- — Instrument de migrare a bazei de date.
- — Migrare a schemei online pentru MySQL.
- — Bibliotecă independentă de bază de date pentru urmărirea, gestionarea și aplicarea schimbărilor în schema bazei de date.
- — Ca un diff, dar pentru scheme PostgreSQL.
- — Gestionare a migrațiilor bazei de date Node.js, construită exclusiv pentru postgres. (Dar poate fi folosită și pentru alte DB-uri care respectă standardul SQL — de exemplu, CockroachDB.)
- — Oferă utilități pentru a descrie o schemă de bază de date PostgreSQL ca YAML.
- — Un operator Kubernetes pentru gestionarea declarativă a schemelor de baze de date (gitops pentru schemele bazelor de date).
- — Gestionare a schimbărilor native la nivel de bază de date, pentru dezvoltare fără framework-uri și desfășurare de încredere.
- — Încă un instrument de versiune și migrare a schemei, realizat exclusiv cu .NET Core 3.0+ și, sperăm, mai bine.
Unelte de generare de cod
- — Înferează SQL DDL (Limbaj de definiție a datelor) din datele tabelului.
- — Utilitar din linia de comandă pentru exportul schemei Oracle într-un set de scripturi DDL inițiale, cu capacitatea de a filtra informațiile nedorite, separând DDL în fișiere diferite, formatarea ieșirii într-un format plăcut.
Wrapper-e
- — Un backend REST API open source pentru aplicații mobile, web și IoT.
- — API-uri GraphQL instantanee super rapide și în timp real pe Postgres, cu control de acces fin, de asemenea, declanșează webhook-uri la evenimentele bazei de date.
- — SQL pentru fluxuri JSON și CSV.
- — Wrapper de date externe PostgreSQL pentru MySQL.
- — O aplicație Java mid-tier, ORDS mapează verbe HTTP(S) (GET, POST, PUT, DELETE etc.) la tranzacții de baze de date și returnează orice rezultate formatate utilizând JSON.
- — Prisma transformă baza ta de date într-un API GraphQL în timp real.
- — API REST pentru orice bază de date Postgres.
- — Este o modalitate de a.servi un API RESTful din orice baze de date scrise în Go.
- — Generator SQL cu API-uri Java și HTTP, folosește un API HTTP RESTful simplu cu serializare XML sau JSON.
- — Convertește cu ușurință baza ta de date SQL într-un API REST.
- — Generează automat un serviciu API RESTful pentru baza ta de date legacy.
- — Wrapper REST avansat și UI pentru interogările tale SQL.
Unelte de backup
- — Backup și Restaurare fiabil pentru PostgreSQL.
- — Manager de backup și recuperare pentru PostgreSQL.
Replicare/Operațiuni de date
- — Un instrument pentru explorarea și publicarea datelor.
- — Serviciu distribuit de transfer de date pentru MySQL.
- — Sincronizează datele PostgreSQL între baze de date.
- — Sistem de replicare MySQL către PostgreSQL scris în Python 3. Sistemul folosește biblioteca mysql-replication pentru a prelua imaginile de rând din MySQL, care sunt stocate în PostgreSQL ca JSONB.
- — Un server web Golang pentru a transmite modificările PostgreSQL cu cel puțin o dată prin WebSocket-uri, folosind caracteristica de decodare logică PostgreSQL.
- — Cel mai popular manager de replicare pentru PostgreSQL.
Scripturi
- — O colecție de scripturi utile pentru analiza și administrarea bazelor de date, create de echipa noastră de experți PostgreSQL.
- — Interogări pentru a măsura bloatul statistic în indecși și tabele pentru PostgreSQL.
- — Test SQL care verifică dacă baza ta de date respectă regulile de la .
- — Utilitare utile PostgreSQL.
- — Scripturi și comenzi SQL utile de la .
- — Setul lipsă de instrumente utile pentru DBAd PostgreSQL și toți inginerii.
- — Interogări și comenzi PostgreSQL utile.
- — Aceste scripturi sqlplus sunt pentru optimizarea performanței și depanarea Oracle Database.
Monitorizare/Statistici/Performanță
- — Oferă o vedere grafică a datelor istoricului sesiunilor active în cadrul DB-ului Oracle și PostgreSQL.
- — Instrument de monitorizare MySQL fără agent și rentabil.
- — Monitorizează performanța SQL Server pe Linux utilizând collectd, InfluxDB și Grafana.
- — Un instrument de monitorizare de server de la distanță, sigur, simplu și fără agent, care este echipat cu caracteristici puternice pentru a face monitorizarea ta cât mai eficientă posibil.
- — Platforma open-source pentru gestionarea și monitorizarea performanței MySQL și MongoDB.
- — Colector de statistici pganalyze pentru adunarea metricilor și datelor de logare PostgreSQL.
- — Un instrument de diagnosticare de nouă generație care permite utilizatorilor să efectueze o analiză detaliată a sănătății bazelor de date Postgres.
- — Exportator Prometheus pentru metricile serverului PostgreSQL.
- — Măsurați și urmăriți fiecare aspect al bazelor de date PostgreSQL.
- — Un panou de performanță pentru Postgres — verificări de sănătate, indexuri sugerate și multe altele.
- — Colectează și afișează informații și statistici dintr-un server PostgreSQL în funcțiune.
- — O interfață grafică pentru planurile de explicații PostgreSQL, plus sfaturi pentru îmbunătățirea performanței.
- — Colectează statisticile PostgreSQL și fie le salvează în fișiere CSV, fie le afișează pe stdout.
- — Soluție flexibilă și autonomă pentru monitorizarea / dashboarding-ul metricilor PostgreSQL.
- — Oferă metrici pentru baza ta de date postgres.
Zabbix
- — Agregat de monitorizare pentru PostgreSQL.
- — Orabbix este un plugin proiectat pentru a lucra cu Zabbix Enterprise Monitor pentru a oferi monitorizare multi-tier, rapoarte de performanță și disponibilitate, precum și măsurarea pentru bazele de date Oracle, împreună cu metricile de performanță a serverului.
- — Acesta este șablonul de monitorizare Zabbix pentru baza de date PostgreSQL.
- — Script Python pentru monitorizarea bazelor de date Oracle.
- — ZabbixDBA este un plugin rapid, flexibil și în continuă dezvoltare pentru a monitoriza RDBMS-ul tău.
Testare
- — Un cadru de testare a bazelor de date care suportă dezvoltarea ușoară bazată pe teste a codului tău de bază de date.
- — Testare de regresie a interogărilor tale SQL.
Generator de date
- — Este un cadru pentru generarea de date de testare realiste și valide în volum mare pentru sistemul tău în test (evitând modelul anti Datalite).
- — Instrument GUI puternic pentru crearea de volume mari de date de testare realiste.
- — Un instrument GUI mic, dar puternic pentru popularea schemelor Oracle cu tone de date de testare realiste.
- — Instrument GUI puternic pentru generarea rapidă de date de testare semnificative pentru baze de date.
Administrare
- — Un analizator rapid de log-uri PostgreSQL.
- — Gestionează rolurile, membrele rolurilor, proprietățile schemelor și privilegile unui cluster Postgres.
- — Partionarea PostgreSQL la fel de simplă ca o plăcintă.
HA/Failover/Sharding
- — Extensie PostgreSQL care distribuie datele tale și interogările pe mai multe noduri.
- — Un șablon pentru disponibilitate ridicată PostgreSQL cu ZooKeeper, etcd sau Consul.
- — O soluție de scalabilitate ridicată pentru clustering-ul MySQL și disponibilitate ridicată.
- — Manager PostgreSQL nativ cloud pentru disponibilitate ridicată PostgreSQL.
- — Extensie și serviciu PostgreSQL pentru failover automatizat și disponibilitate ridicată.
- — Monitorizare a replicării PostgreSQL și daemon de failover.
- — Disponibilitate ridicată pentru Postgres, bazată pe referințele din industrie Pacemaker și Corosync.
- — Cluster de Disponibilitate Ridicată PostgreSQL (bazat pe "Patroni" și "DCS(etcd)"). Automatizând desfășurarea cu Ansible.
- — Sistem de clustering al bazelor de date pentru scalarea orizontală a MySQL prin fragmentare generalizată.
Kubernetes
- — Facerea funcționării bazelor de date de producție simplă pe Kubernetes.
- — Operatorul Postgres permite clustere PostgreSQL extrem de disponibile pe Kubernetes (K8s) alimentate de Patroni.
- — Clustere HA PostgreSQL cu Docker.
- — PostgreSQL complet în sistem de tip enterprise pe Kubernetes.
Optimizare Configurație
- — Script scris în Perl care îți permite să revizuiești rapid o instalare MySQL și să faci ajustări pentru a crește performanța și stabilitatea.
- — Instrument online gratuit pentru generarea unei configurații optimizate
postgresql.conf. - — Asistent de configurare PostgreSQL.
- — Script simplu pentru a analiza configurația bazei tale de date PostgreSQL și a oferi sfaturi de tuning.
DevOps
- — DBmaestro accelerează ciclurile de lansare și susține agilitatea în întregul ecosistem IT.
- — Toad DevOps Toolkit execută funcții esențiale de dezvoltare a bazei de date în fluxul tău de lucru DevOps — fără a compromite calitatea, performanța sau fiabilitatea.
Exemple de schemă
- — Oracle Database Sample Schemas.
Raportare
- — O aplicație ușor de utilizat pentru raportare SQL, construită pentru iubitorii de SQL.
Distribuții
- — Un instrument care facilitează implementarea serverelor de baze de date MySQL.
- — Modul PowerShell pe care îl poți considera ca un SQL Server Management Studio în linie de comandă.
- — O instalare completă a PostgreSQL, ambalată ca o aplicație standard pentru Mac.
- — O distribuție prietenoasă pentru dezvoltatori a Postgres.
- — Front-end de management PostgreSQL bazat pe web, care grupează mai multe utilitare și aplicații pentru utilizarea cu PostgreSQL.
Securitate
- — Suită de securitate pentru baze de date. Proxy de baze de date cu criptare la nivel de câmp, căutare în date criptate, prevenirea injecțiilor SQL, detectarea intruziunilor, honeypots. Suportă criptarea pe partea clientului și pe partea proxy ("transparent"). SQL, NoSQL.
Formatare de cod
- — Frumusețe a codului indiferent de limbaj prin învățare automată.
Contributing
- Contribuțiile tale sunt întotdeauna binevenite! Te rog să citești mai întâi.
Dacă ai descoperiri pentru baze de date - împărtășește-le. De asemenea, aș fi bucuros să primesc feedback - PR-uri și stele. Dacă ai întrebări despre cum să îți creezi propriile liste - scrie-mi.
Sursa: habr.com
