ãããããã«ïŒ ãããããç§ãã¡äžäººäžäººããèªåã«ãšã£ãŠäŸ¿å©ã§èå³æ·±ããã®ãé ãããããªãã¡ã€ã«ãæã£ãŠããã§ãããã èšäºãæžç±ããªããžããªãããã¥ã¢ã«ãžã®ãªã³ã¯ã ãã©ãŠã¶ãŒã®ããã¯ããŒã¯ã«ããããšããåŸã§äœ¿çšããããã«ã¿ããéãããŸãŸã«ããããšãã§ããŸãã æéãçµã€ã«ã€ããŠãããããã¹ãŠãèšãäžããããªã³ã¯ãéããªããªããã»ãšãã©ã®è³æã¯åã«æ代é ãã«ãªããŸãã
ãããããã®åªããç¹ãã³ãã¥ããã£ãšå
±æãããã®ãã¡ã€ã«ã github ã«çœ®ãããã©ããªãã§ãããã? ããããã°ãããªãã®ä»äºãä»ã®äººã«åœ¹ç«ã€å¯èœæ§ããããå€ãè¯ã PR ãéããŠåžæãã人ããã®æŽæ°æ
å ±ãåãå
¥ããŠãäžç·ã«ææ°æ
å ±ãåŸãããšãã§ããŸãã ããããã®ãããžã§ã¯ãã®ç®çã§ãã
ç§ã®ååã¯ããã·ã ã»ã°ã©ãã³ã§ãã CROCã§ã¯JavaéçºãšããŒã¿ããŒã¹ç 究ã«åŸäºããŠããŸãã ãã®èšäºã§ã¯ãAwesome List ãšã¯äœãããããŠç¬èªã®å ¬åŒã® Awesome ãªããžããªãäœæããæ¹æ³ã«ã€ããŠèª¬æããŸãã
çŽ æŽããããªã¹ããšã¯
æ°ãããã¯ãããžãŒãããã°ã©ãã³ã°èšèªãæ±ããªããã°ãªããªããšããç§ãæåã«ããããšã¯ããã«è¡ãããšã§ããé©åãªã»ã¯ã·ã§ã³ãèŠã€ããããã®äžã«é©åãªã·ãŒãããããŸãã ãããŠãæã®æ°ãšãã®çµ¶ãéãªãæé·ããå€æãããšããããããŠããã®ã¯ç§ã ãã§ã¯ãããŸããã
å®éãããã¯å¥ã®å Žæã«ããéåžžã®ãã©ãã㪠readme.md ã§ãã
äž»ãªç¹åŸŽã¯ãããããã¹ãŠã®ãªã¹ããäœæè
ã«ãã£ãŠå人çã«ã§ã¯ãªãã³ãã¥ããã£ã«ãã£ãŠç¶æãããç¹å¥ã§éåžžã«å³æ ŒãªèŠåã«åŸã£ãŠç·šéãããŠããããšã§ãã
ãã®çµæžå
šäœã®ã¢ã€ãã¢ã®äœè
ã§ããã³ãŒãã£ããŒã¿ãŒã¯ãäŒèª¬çãªã·ã³ãã¬ã»ãœã«ãã¹ã§ãã
ããããªã¹ãã«èŒãæ¹æ³
èå³ã®ãããããã¯ã«é¢ããé©åãªã·ãŒããçªç¶èŠã€ãããªãã£ãå Žåãããã¯èªåã§è¡ãå¿ èŠããããšããæåã®å åã§ãã
ç§ã®åäŸã®ããšã«ã€ããŠè©±ãããŠãã ãã
ããªãã¯äœãå¿ èŠãªã®ã§ããããïŒ
- éåžžã® GitHub ãªããžããªããawesome-something-there ã®ãããªååã§ç»é²ããŸãã ç§ã®å Žåãããã¯awesome-database-toolsã§ãã
- ã·ãŒããçŽ æŽããã圢åŒã«å€æããŸããããã¯åœ¹ã«ç«ã¡ãŸãã
ãžã§ãã¬ãŒã¿ãŒ-çŽ æŽããã-ãªã¹ã ãããã«ãããå¿ èŠãªãã¡ã€ã«ããã¹ãŠå¿ èŠãªåœ¢åŒã§çæãããŸãã - å®éã® CI ãã»ããã¢ããããŸãã
ããã糞ãã ãããŠãã©ãŽã£ã¹ã»ã·ã¯ç§ãã¡ã®ã³ã³ãããŒã«ãå©ããŠãããŸãæå¹ ç§ãã¡ã®ã·ãŒã - 30æ¥åŸ ã£ãŠããŸã
- å°ãªããšã 2 人ã®ä»ã®äººã® PR ã確èªããŸã
- æåŸã«ãã¡ã€ã³ ãªããžããªã« PR ãäœæãããªããžããªãžã®ãªã³ã¯ãè¿œå ããŸãã ããã§ã¯ããã¹ãŠã泚ææ·±ãèªã¿ãæ°ããã·ãŒããšPRèªäœã®å€æ°ã®èŠä»¶ããã¹ãŠæ³šææ·±ãæºããå¿ èŠããããŸãã
åããŠã®ãã³ã±ãŒã
ããããå°ãæéãçµã¡ãããã«å€ãã®è³æãéããééãã«åãçµã¿ã次ã®ããšã«ææŠããŸããã
ããããç§ã¯ãšãŠãéèŠãªããšãå¿ããŠããŸãããããã¯ç§ã«åªãã瀺åãããŸããïŒ
ããŸã泚æããŠããªãã£ãã®ã§ããã¹ãŠã®æ¡ä»¶ãæºããããŠããããšã確èªããããã«ãŠãã³ãŒã³ãè¿œå ããŸããã§ãã
ããããããå°ãæéãçµã¡ãã³ã¡ã³ããããã«ããã€ãç·šéããŠãåŸ
æã®
ããã§ç§ã¯æåã®ã·ãŒãã®èè
ãšãªãã次ã®ãããªã¡ãã»ãŒãžãåãåãå§ããŸããã
æçš¿æã®çŸåšã®éžæã¯æ¬¡ã®ãšããã§ãã
çŽ æŽãããããŒã¿ããŒã¹ããŒã«
ã³ãã¥ããã£äž»å°ã®ããŒã¿ããŒã¹ ããŒã«ã®ãªã¹ã
ããã§ã¯ãDBAãDevOpsãéçºè ããããŠäžè¬ã®äººåãã®ããŒã¿ããŒã¹ã®æäœãç°¡çŽ åãããéåžžã«äŸ¿å©ã§çŽ æŽãããå®éšããŒã«ã«é¢ããæ å ±ãåéããŸãã
ç¬èªã® db-tools ãŸãã¯ãæ°ã«å ¥ãã®ãµãŒãããŒã㣠db-tools ã«é¢ããæ å ±ãèªç±ã«è¿œå ããŠãã ããã
å 容
IDE GUIãããŒãžã£ãŒ/ã¯ã©ã€ã¢ã³ã CLIããŒã« DB ã¹ããŒãã®ããã²ãŒã·ã§ã³ãšèŠèŠå ã¢ãã©ãŒ 移è¡ããŒã« ã³ãŒãçæããŒã« ã©ãã㌠ããã¯ã¢ããããŒã« ã¬ããªã±ãŒã·ã§ã³/ããŒã¿æäœ ã¹ã¯ãªãã ã¢ãã¿ãªã³ã°/çµ±èš/ããã©ãŒãã³ã¹ ãã¹ã 管çéšé HA/ãã§ã€ã«ãªãŒããŒ/ã·ã£ãŒãã£ã³ã° Kubernetes æ§æã®ãã¥ãŒãã³ã° DevOps ã¹ããŒãã®ãµã³ãã« åçš®ã¬ããŒãäœæ ãã£ã¹ããªãã¥ãŒã·ã§ã³ ã»ãã¥ãªã㣠ã³ãŒããã©ãŒããã¿
IDE
AnySQLããšã¹ãã - ããŒã¿ããŒã¹ã®ç®¡çãå¶åŸ¡ãéçºã®ããã®åªããå€ç®ç管çããŒã«ãã¢ã¯ã¢ããŒã¿ã¹ã¿ãžãª â Aqua Data Studio ã¯ãããŒã¿ããŒã¹éçºè ãDBAãã¢ããªã¹ãåãã®çç£æ§åäžãœãããŠã§ã¢ã§ããããŒã¿ããŒã¹.net - 20 以äžã®ããŒã¿ããŒã¹ããµããŒãããè€æ°ã®ããŒã¿ããŒã¹ç®¡çããŒã«ãããŒã¿ã°ãªãã - JetBrains ã«ããããŒã¿ããŒã¹ããã³ SQL çšã®ã¯ãã¹ãã©ãããã©ãŒã IDEãDBeaver - ç¡æã®ãŠãããŒãµã« ããŒã¿ããŒã¹ ãããŒãžã£ãŒãš SQL ã¯ã©ã€ã¢ã³ããdbForge Studio for MySQL - MySQL ããã³ MariaDB ããŒã¿ããŒã¹ã®éçºã管çã管ççšã®ãŠãããŒãµã« IDEãdbForge Studio for Oracle - Oracle ã®ç®¡çã管çãéçºã®ããã®åŒ·å㪠IDEãPostgreSQL çšã® dbForge ã¹ã¿ãžãª â ããŒã¿ããŒã¹ãšãªããžã§ã¯ãã管çããã³éçºããããã® GUI ããŒã«ãdbForge Studio for SQL Server - SQL Server ã®éçºã管çãããŒã¿åæãã¬ããŒãäœæã®ããã®åŒ·åãªçµ±åéçºç°å¢ãdbå¹žç° - ææ° (JavaScript/Electron ãã¬ãŒã ã¯ãŒã¯)ãMongoDB çšã®ãªãŒãã³ãœãŒã¹ IDEã MongoDB ããŒã¿ããŒã¹ã®éçºã管çãããã©ãŒãã³ã¹ ãã¥ãŒãã³ã°ããµããŒãããæ©èœããããŸããIBExpert â Firebird ããã³ InterBase çšã®å æ¬ç㪠GUI ããŒã«ãHeidiSQL â Delphi ã§æžããããMySQLãMSSQLãPostgreSQL ã管çããããã®è»œéã¯ã©ã€ã¢ã³ããMySQLã¯ãŒã¯ãã³ã â MySQL Workbench ã¯ãããŒã¿ããŒã¹ ã¢ãŒããã¯ããéçºè ãDBA ã®ããã®çµ±åããžã¥ã¢ã« ããŒã«ã§ããããã«ãã - åäžã®ã¢ããªã±ãŒã·ã§ã³ãã MySQLãMariaDBãSQL ServerãOracleãPostgreSQLãSQLite ããŒã¿ããŒã¹ã«åæã«æ¥ç¶ã§ããããŒã¿ããŒã¹éçºããŒã«ãOracle SQL éçºè - Oracle SQL Developerã¯ãåŸæ¥ã®ãããã€ã¡ã³ããšã¯ã©ãŠãã»ãããã€ã¡ã³ãã®äž¡æ¹ã§Oracle Databaseã®éçºãšç®¡çãç°¡çŽ åããç¡æã®çµ±åéçºç°å¢ã§ããpg管çè â äžçã§æãå é²çãªãªãŒãã³ãœãŒã¹ ããŒã¿ããŒã¹ã§ãã PostgreSQL çšã®ãæã人æ°ããããæ©èœãè±å¯ãªãªãŒãã³ ãœãŒã¹ç®¡çããã³éçºãã©ãããã©ãŒã ã§ããpgAdmin3 - pgAdmin3 ã®é·æãµããŒããPL / SQLéçºè - Oracle ããŒã¿ããŒã¹çšã®ã¹ãã¢ã ããã°ã©ã ãŠãããã®éçºãç¹ã«ç®çãšãã IDEãPostgreSQLããšã¹ãã - PostgreSQL çšã®å®å šãã€åŒ·åãªããŒã¿ããŒã¹ç®¡çã管çãéçºããŒã«ãããã¬ãšã« â Toad ã¯ãéçºè ã管çè ãããŒã¿ ã¢ããªã¹ãã«ãšã£ãŠæé«ã®ããŒã¿ããŒã¹ ãœãªã¥ãŒã·ã§ã³ã§ãã åäžã®ããŒã¿ããŒã¹ç®¡çããŒã«ã§è€éãªããŒã¿ããŒã¹ã®å€æŽã管çããŸããããŒããšããž - MySQL ããã³ Postgres çšã®ç°¡çŽ åãããããŒã¿ããŒã¹éçºããŒã«ããã© â TOra ã¯ãOracleãMySQLãããã³ PostgreSQL ããŒã¿ããŒã¹çšã®ãªãŒãã³ãœãŒã¹ SQL IDE ã§ãããã¬ã³ããã¹ã¿ãžãª â Valentina DBãMySQLãMariaDBãPostgreSQLãSQLite ããŒã¿ããŒã¹ãç¡æã§äœæã管çãã¯ãšãªãæ¢çŽ¢ã§ããŸãã
GUIãããŒãžã£ãŒ/ã¯ã©ã€ã¢ã³ã
管çè - åäžã® PHP ãã¡ã€ã«ã§ããŒã¿ããŒã¹ç®¡çãDbããžã¥ã¢ã©ã€ã¶ãŒ â éçºè ãDBAãã¢ããªã¹ãåãã®ãŠãããŒãµã« ããŒã¿ããŒã¹ ããŒã«ãããŠã¹ãªã - ãšã³ã¿ãŒãã©ã€ãº ClickHouse Ops UI ã«ãããã¯ãšãªãå®è¡ããClickHouse ã®ç¶æ ãç£èŠããä»ã®å€ãã®äººã«èããããããšãã§ããŸãããžã£ãã¯DB - ããŒã¿ãã©ãã«ãããã«é¢ä¿ãªãããã¹ãŠã®ããŒã¿ã« SQL ã§çŽæ¥ã¢ã¯ã»ã¹ããŸãããªã ãDB â ããŒã¿ããŒã¹ç®¡ççšã® Web ããŒã«ãpgweb â PostgreSQL çšã® Web ããŒã¹ã®ããŒã¿ããŒã¹ ãã©ãŠã¶ãGo ã§æžãããmacOSãLinuxãããã³ Windows ãã·ã³ã§åäœããŸããphpLite管çè - SQLite3 ããã³ SQLite2 ããµããŒããããPHP ã§æžããã Web ããŒã¹ã® SQLite ããŒã¿ããŒã¹ç®¡çããŒã«ãphpMyAdminã® â MySQL ããã³ MariaDB çšã® Web ã€ã³ã¿ãŒãã§ã€ã¹ãç¶ç·š â PSequel ã¯ãäžè¬ç㪠PostgreSQL ã¿ã¹ã¯ãè¿ éã«å®è¡ããããã®ã¯ãªãŒã³ã§ã·ã³ãã«ãªã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸãããããSQL â ããŒã åãã®ææ°ã®å ±å SQL ãšãã£ã¿ãŒããã¹ãã£ã³ â Mac çšã®ææ°ã® PostgreSQL ã¯ã©ã€ã¢ã³ãããã3T - Robo 3T (æ§ç§° Robomongo) ã¯ãã·ã§ã«äžââå¿ã®ã¯ãã¹ãã©ãããã©ãŒã MongoDB 管çããŒã«ã§ããç¶ç·šãã â Sequel Pro ã¯ãMySQL ããã³ MariaDB ããŒã¿ããŒã¹ãæäœããããã®ãé«éã§äœ¿ãããã Mac ããŒã¿ããŒã¹ç®¡çã¢ããªã±ãŒã·ã§ã³ã§ããSQL ãªãã¬ãŒã·ã§ã³ ã¹ã¿ãžãª - WindowsãmacOSãLinux ãã SQL ServerãAzure SQL DBãSQL DW ãæäœã§ããããã«ããããŒã¿ç®¡çããŒã«ãSQLiteãšãã¹ããŒã - ã°ã©ãã£ã«ã« ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãã¹ãŠã® SQLite æ©èœããµããŒãããŸããSQLããã - ç¬èªã®ãã©ã€ããŒã ã¯ã©ãŠãã§å®è¡ããã Web ããŒã¹ã® SQL ãšãã£ã¿ãŒãSQLãã â macOS çšã®ã·ã³ãã«ã§åŒ·å㪠Postgres ãããŒãžã£ãŒããªã¹ â Java ã§æžãããã°ã©ãã£ã«ã« SQL ã¯ã©ã€ã¢ã³ããããã«ãããJDBC æºæ ããŒã¿ããŒã¹ã®æ§é ã®è¡šç€ºãããŒãã«å ã®ããŒã¿ã®åç §ãSQL ã³ãã³ãã®çºè¡ãªã©ãå¯èœã«ãªããŸããSQLããŒã« - VSCode ã®ããŒã¿ããŒã¹ç®¡çãSQLãšã° - æãå®å šã§äœ¿ãããã MySQL GUIãã¿ããã¯ã¹ â SQL ãšãã£ã¿ãŒãš Clickhouse çšã®ãªãŒãã³ãœãŒã¹ã®ã·ã³ãã«ãªããžãã¹ ã€ã³ããªãžã§ã³ã¹ãããŒãã«ãã©ã¹ - ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹çšã®ã¢ãã³ã§ãã€ãã£ãã䜿ãããã GUI ããŒã«: MySQLãPostgreSQLãSQLite ãªã©ãTeamPostgreSQL - PostgreSQL Web 管ç GUI - ãªããã§è¶ é«é㪠AJAX Web ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããŠãã©ãããã§ã PostgreSQL ããŒã¿ããŒã¹ã䜿çšã§ããŸãã
CLIããŒã«
ipython-sql â ããŒã¿ããŒã¹ã«æ¥ç¶ããŠãIPython ãŸã㯠IPython Notebook å 㧠SQL ã³ãã³ããçºè¡ããŸããã€ã¬ãã£ã¹ - ãªãŒãã³ã³ããªãŒããšæ§æ匷調衚瀺ãåãã Redis çšã® Cliãpgã»ã³ã¿ãŒ - PostgreSQL çšã®ãããã©ã€ã¯ãªç®¡çããŒã«ãpg_ã¢ã¯ãã£ãã㣠- PostgreSQL ãµãŒããŒã®ã¢ã¯ãã£ããã£ç£èŠçšã®ãããã©ã€ã¯ãªã¢ããªã±ãŒã·ã§ã³ãpg_top â PostgreSQL ã®å Žåã¯ããããããpspg â PostgreSQL ããŒãžã£ãsqlcl - Oracle SQL Developer Command Line (SQLcl)ã¯ãOracle Databaseçšã®ç¡æã®ã³ãã³ãã©ã€ã³ã»ã€ã³ã¿ãã§ãŒã¹ã§ããusql - PostgreSQLãMySQLãOracle DatabaseãSQLite3ãMicrosoft SQL Serverãããã³ä»ã®å€ãã®ããŒã¿ããŒã¹ NoSQL ãéãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ãå«ãŸããŸãã
dbcli
ã¢ããã¯ãª - AthenaCLI ã¯ããªãŒãã³ã³ããªãŒããšæ§æãã€ã©ã€ããå®è¡ã§ãã AWS Athena ãµãŒãã¹çšã® CLI ããŒã«ã§ããã©ã€ãã¯ãª - ãªãŒãã³ã³ããªãŒããšæ§æ匷調衚瀺ãåãã SQLite ããŒã¿ããŒã¹çšã® CLIãmssql-cli - ãªãŒãã³ã³ããªãŒããšæ§æ匷調衚瀺ãåãã SQL Server çšã®ã³ãã³ã ã©ã€ã³ ã¯ã©ã€ã¢ã³ãããã€ã¯ãª - ãªãŒãã³ã³ããªãŒããšæ§æãã€ã©ã€ããåãã MySQL çšã¿ãŒããã« ã¯ã©ã€ã¢ã³ããpgcli - ãªãŒãã³ã³ããªãŒããšæ§æ匷調衚瀺ãåãã Postgres CLIãvcli - ãªãŒãã³ã³ããªãŒããšæ§æãã€ã©ã€ããåãã Vertica CLIã
DB ã¹ããŒãã®ããã²ãŒã·ã§ã³ãšèŠèŠå
dbdiagram.io â ã·ã³ãã«ãª DSL èšèªã䜿çšããŠãããŒã¿ããŒã¹é¢ä¿å³ãæç»ããè¿ éã«ãããŒãäœæããã®ã«åœ¹ç«ã€ãè¿ éãã€ã·ã³ãã«ãªããŒã«ã§ããERAé¬éè¡ - ãšã³ãã£ãã£é¢ä¿å³çæããŒã«ãã¹ããŒãã¯ããŒã©ãŒ â ç¡æã®ããŒã¿ããŒã¹ ã¹ããŒãã®æ€åºããã³ç解ããŒã«ãã¹ããŒãã¹ã〠- ãšã³ãã£ãã£é¢ä¿å³ãå«ãããŒã¿ããŒã¹ã HTML ããã¥ã¡ã³ãã«çæããŸããããŒãã« - Go ã§æžããããããŒã¿ããŒã¹ãææžåããããã® CI ãã¬ã³ããªãŒãªããŒã«ã
ã¢ãã©ãŒ
NavicatããŒã¿ã¢ãã©ãŒ - é«å質ã®æŠå¿µãè«çãããã³ç©çããŒã¿ ã¢ãã«ã®æ§ç¯ã«åœ¹ç«ã€ã匷åã§ã³ã¹ãå¹çã®é«ãããŒã¿ããŒã¹èšèšããŒã«ãOracle SQL DeveloperããŒã¿ã»ã¢ãã©ãŒ - Oracle SQL Developer Data Modeler ã¯ãçç£æ§ãåäžãããããŒã¿ ã¢ããªã³ã° ã¿ã¹ã¯ãç°¡çŽ åããç¡æã®ã°ã©ãã£ã«ã« ããŒã«ã§ããpgmodeler â PostgreSQL çšã«èšèšãããããŒã¿ ã¢ããªã³ã° ããŒã«ã
移è¡ããŒã«
2ãã¹ - åªç DDL ã¹ã¯ãªããã®æŠå¿µãå©çšããã³ãŒããšããŠã®ããŒã¿ããŒã¹æ§æããŒã«ããã©ã€ãŠã§ã€ - ããŒã¿ããŒã¹ç§»è¡ããŒã«ã幜é - MySQL ã®ãªã³ã©ã€ã³ ã¹ããŒã移è¡ããªãããŒã¹ - ããŒã¿ããŒã¹ ã¹ããŒãã®å€æŽã远跡ã管çãé©çšããããã®ããŒã¿ããŒã¹ã«äŸåããªãã©ã€ãã©ãªã移è¡ããŸã â diff ãšäŒŒãŠããŸãããPostgreSQL ã¹ããŒãçšã§ããããŒã-pg-ç§»è¡ - Node.js ããŒã¿ããŒã¹ç§»è¡ç®¡ç㯠postgres å°çšã«æ§ç¯ãããŠããŸãã (ãã ããSQL æšæºã«æºæ ããä»ã® DB (CockroachDB ãªã©) ã«ã䜿çšã§ããŸãã)ãã«ã·ãŒãº - PostgreSQL ããŒã¿ããŒã¹ ã¹ããŒãã YAML ãšããŠèšè¿°ããããã®ãŠãŒãã£ãªãã£ãæäŸããŸããã¹ããŒãããŒã㌠- 宣èšåããŒã¿ããŒã¹ ã¹ããŒã管ççšã® Kubernetes ãªãã¬ãŒã¿ãŒ (ããŒã¿ããŒã¹ ã¹ããŒãã® gitops)ãã¹ã¯ãã - ãã¬ãŒã ã¯ãŒã¯ããªãŒã®éçºãšä¿¡é Œæ§ã®é«ãå±éã®ããã®è³¢æãªããŒã¿ããŒã¹ãã€ãã£ãã®å€æŽç®¡çããŠããŒã¯ - ãã€ãã£ã .NET Core 3.0 以éã§äœæããããããã«åªããã¹ããŒãã®ããŒãžã§ã³ç®¡çããã³ç§»è¡ããŒã«ã§ãã
ã³ãŒãçæããŒã«
ddl ãžã§ãã¬ãŒã¿ãŒ â ããŒãã« ããŒã¿ãã SQL DDL (ããŒã¿å®çŸ©èšèª) ãæšè«ããŸããã¹ããŒã 2ddl - Oracle ã¹ããŒãã DDL åæåã¹ã¯ãªããã®ã»ããã«ãšã¯ã¹ããŒãããããã®ã³ãã³ã ã©ã€ã³ ãŠãŒãã£ãªãã£ãæãŸãããªãæ å ±ããã£ã«ã¿ãªã³ã°ããããå¥ã®ãã¡ã€ã«ã« DDL ãåå²ããããæŽåœ¢ããåºåãå®è¡ãããã§ããŸãã
ã©ãããŒ
ããªãŒã ãã¡ã¯ããªãŒ â ã¢ãã€ã«ãWebãIoT ã¢ããªã±ãŒã·ã§ã³çšã®ãªãŒãã³ãœãŒã¹ REST API ããã¯ãšã³ããHasura GraphQL ãšã³ãžã³ - ãã现ããã¢ã¯ã»ã¹å¶åŸ¡ãåãã Postgres äžã®è¶ é«éã§ã€ã³ã¹ã¿ã³ã ãªã¢ã«ã¿ã€ã GraphQL API ã¯ãããŒã¿ããŒã¹ ã€ãã³ã㧠Webhook ãããªã¬ãŒããŸããjl-sql - JSON ããã³ CSV ã¹ããªãŒã çšã® SQLãmysql_fdw MySQL çšã® PostgreSQL å€éšããŒã¿ ã©ãããŒãOracle RESTããŒã¿ã»ãµãŒãã¹ â äžé局㮠Java ã¢ããªã±ãŒã·ã§ã³ã§ãã ORDS ã¯ãHTTP(S) åè© (GETãPOSTãPUTãDELETE ãªã©) ãããŒã¿ããŒã¹ ãã©ã³ã¶ã¯ã·ã§ã³ã«ãããããJSON ã䜿çšããŠãã©ãŒããããããçµæãè¿ããŸããããªãºã - Prisma ã¯ããŒã¿ããŒã¹ããªã¢ã«ã¿ã€ã GraphQL API ã«å€ããŸããpostgREST - Postgres ããŒã¿ããŒã¹çšã® REST APIãããŒã¹ - Go ã§æžãããããŒã¿ããŒã¹ãã RESTful API ãæäŸããæ¹æ³ã§ããæ®ãSQL - Java ããã³ HTTP API ã䜿çšãã SQL ãžã§ãã¬ãŒã¿ãŒã¯ãXML ãŸã㯠JSON ã·ãªã¢ã«åã䜿çšããã·ã³ãã«ãª RESTful HTTP API ã䜿çšããŸããåçºãã - SQL ããŒã¿ããŒã¹ã REST API ã«ç°¡åã«å€æããŸãããµã³ããã³2 - ã¬ã¬ã·ãŒ ããŒã¿ããŒã¹çšã® RESTful API ãµãŒãã¹ãèªåçã«çæããŸããSQLããŒã - SQL ã¯ãšãªçšã®é«åºŠãª REST ããã³ UI ã©ãããŒã
ããã¯ã¢ããããŒã«
pgèããã - ä¿¡é Œæ§ã®é«ã PostgreSQL ã®ããã¯ã¢ãããšåŸ©å ãããŒãã³ â PostgreSQL ã®ããã¯ã¢ããããã³ãªã«ã㪠ãããŒãžã£ãŒã
ã¬ããªã±ãŒã·ã§ã³/ããŒã¿æäœ
ããŒã¿ã»ãã â ããŒã¿ãæ¢çŽ¢ããã³å ¬éããããã®ããŒã«ããã« - MySQL çšã®åæ£ããŒã¿è»¢éãµãŒãã¹ãpgsync - ããŒã¿ããŒã¹é㧠Postgres ããŒã¿ãåæããŸããpg_ã«ã¡ã¬ãªã³ - Python 3 ã§æžããã MySQL ãã PostgreSQL ãžã®ã¬ããªã« ã·ã¹ãã ããã®ã·ã¹ãã ã¯ã©ã€ãã©ãª mysql-replication ã䜿çšããŠãMySQL ããè¡ã€ã¡ãŒãžããã«ããPostgreSQL ã« JSONB ãšããŠä¿åããŸããPGDââãã«ã¿ã¹ããªãŒã - Postgres ã®è«çãã³ãŒãæ©èœã䜿çšããŠãWebSocket çµç±ã§ Postgres ã®å€æŽãå°ãªããšã XNUMX åã¹ããªãŒãã³ã°ãã Golang Web ãµãŒããŒãrepmgr â PostgreSQL çšã®æã人æ°ã®ããã¬ããªã±ãŒã·ã§ã³ ãããŒãžã£ãŒã
ã¹ã¯ãªãã
pgx_scripts â PostgreSQL Experts ããŒã ã«ãã£ãŠäœæããããããŒã¿ããŒã¹ã®åæãšç®¡çã«åœ¹ç«ã€å°ããªã¹ã¯ãªããã®ã³ã¬ã¯ã·ã§ã³ãpgsql-bloat-estimation â PostgreSQL ã®ã€ã³ããã¯ã¹ãšããŒãã«ã®çµ±èšçãªè¥å€§åã枬å®ããããã®ã¯ãšãªãpgWikiçŠæ¢ - ããŒã¿ããŒã¹ãã«ãŒã«ã«åŸã£ãŠãããã©ããããã§ãã¯ãã SQL ãã¹ãhttps://wiki.postgresql.org/wiki/Donât_Do_This .pg-utils - 䟿å©ãª PostgreSQL ãŠãŒãã£ãªãã£ãpostgres ããŒãã·ãŒã â 䟿å©ãª SQL ã¹ã¯ãªãããšã³ãã³ããpostgres_dba â Postgres DBA ãšãã¹ãŠã®ãšã³ãžãã¢ã«ãšã£ãŠåœ¹ç«ã€ããŒã«ã®ã»ãããäžè¶³ããŠããŸããpostgres_queries_and_commands.sql - 䟿å©ãª PostgreSQL ã¯ãšãªãšã³ãã³ããTPT - ãããã® sqlplus ã¹ã¯ãªããã¯ãOracle Database ã®ããã©ãŒãã³ã¹ã®æé©åãšãã©ãã«ã·ã¥ãŒãã£ã³ã°çšã§ãã
ã¢ãã¿ãªã³ã°/çµ±èš/ããã©ãŒãã³ã¹
ASHãã¥ãŒã¢ - Oracle ããã³ PostgreSQL DB å ã®ã¢ã¯ãã£ããªã»ãã·ã§ã³å±¥æŽããŒã¿ã®ã°ã©ãã£ã«ã« ãã¥ãŒãæäŸããŸããã¢ãã§ã° - ãšãŒãžã§ã³ãã¬ã¹ã§ã³ã¹ãå¹çã®é«ã MySQL ç£èŠããŒã«ãmssql-ç£èŠ -collectdãInfluxDBãGrafana ã䜿çšã㊠Linux äžã® SQL Server ã®ããã©ãŒãã³ã¹ãç£èŠããŸãããããã£ããã¢ãã¿ãŒ â ç£èŠãå¯èœãªéãå¹æçã«è¡ãããã®åŒ·åãªæ©èœãæºèŒããããå®å šã§ã·ã³ãã«ãªãšãŒãžã§ã³ãã¬ã¹ã®ãªã¢ãŒã ãµãŒããŒç£èŠããŒã«ã§ããPerconaã®ç£èŠãšç®¡ç - MySQL ããã³ MongoDB ã®ããã©ãŒãã³ã¹ã管çããã³ç£èŠããããã®ãªãŒãã³ãœãŒã¹ ãã©ãããã©ãŒã ãpganalyze ã³ã¬ã¯ã¿ãŒ - PostgreSQL ã¡ããªã¯ã¹ãšãã° ããŒã¿ãåéããããã® Pganalyze çµ±èšã³ã¬ã¯ã¿ãŒãpostgres-ãã§ãã¯ã¢ãã - ãŠãŒã¶ãŒã Postgres ããŒã¿ããŒã¹ã®ç¶æ ã詳现ã«åæã§ããããã«ããæ°äžä»£ã®èšºæããŒã«ãpostgres_exporter - PostgreSQL ãµãŒã㌠ã¡ããªã¯ã¹ã® Prometheus ãšã¯ã¹ããŒã¿ãpgããã·ã¥ - PostgreSQL ããŒã¿ããŒã¹ã®ããããåŽé¢ã枬å®ããã³è¿œè·¡ããŸããPgããŒã㌠- Postgres ã®ããã©ãŒãã³ã¹ ããã·ã¥ããŒã - ãã«ã¹ ãã§ãã¯ãæšå¥šãããã€ã³ããã¯ã¹ãªã©ããã°ã¡ããªã¯ã¹ - å®è¡äžã® PostgreSQL ãµãŒããŒããæ å ±ãšçµ±èšãåéããŠè¡šç€ºããŸããpgãã¹ã¿ãŒã - Postgres ã®ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ã§èšç»ã説æããããã©ãŒãã³ã¹ãåäžãããããã®ãã³ããæäŸããŸããpgstats - PostgreSQL çµ±èšãåéããCSV ãã¡ã€ã«ã«ä¿åããããæšæºåºåã«åºåããŸããpgwatch2 - æè»ãªèªå·±å®çµåã® PostgreSQL ã¡ããªã¯ã¹ç£èŠ/ããã·ã¥ããŒã ãœãªã¥ãŒã·ã§ã³ãTelegraf PostgreSQL ãã©ã°ã€ã³ - postgres ããŒã¿ããŒã¹ã®ã¡ããªã¯ã¹ãæäŸããŸãã
ã¶ããã¯ã¹
ãã¢ã³ã¹ âPostgreSQL ã®ç£èŠãšãŒãžã§ã³ãããªã©ããã¯ã¹ â Orabbix ã¯ãZabbix Enterprise Monitor ãšé£æºããŠããµãŒã㌠ããã©ãŒãã³ã¹ ã¡ããªãã¯ãšãšãã«ãOracle ããŒã¿ããŒã¹ã®å€å±€ç£èŠãããã©ãŒãã³ã¹ãšå¯çšæ§ã®ã¬ããŒããšæž¬å®ãæäŸããããã«èšèšããããã©ã°ã€ã³ã§ããpg_monz - ããã¯ãPostgreSQL ããŒã¿ããŒã¹çšã® Zabbix ç£èŠãã³ãã¬ãŒãã§ãããã§ã© - Oracle ããŒã¿ããŒã¹ãç£èŠããããã® Python ã¹ã¯ãªãããZabbixDBA - ZabbixDBA ã¯ãRDBMS ãç£èŠããããã®é«éãã€æè»ã§ç¶ç¶çã«éçºãããŠãããã©ââã°ã€ã³ã§ãã
ãã¹ã
Dbãã£ãã â ããŒã¿ããŒã¹ ã³ãŒãã®ç°¡åãªãã¹ãé§åéçºããµããŒãããããŒã¿ããŒã¹ ãã¹ã ãã¬ãŒã ã¯ãŒã¯ãRegreSQL - SQL ã¯ãšãªã®ååž°ãã¹ãã
ããŒã¿ãžã§ãã¬ãŒã¿
ããŒã¿ãã ããã¬ãŒã¿ãŒ â ããã¯ããã¹ã察象ã®ã·ã¹ãã ã«å¯ŸããŠçŸå®çã§æå¹ãªå€§éã®ãã¹ã ããŒã¿ãçæããããã®ãã¬ãŒã ã¯ãŒã¯ã§ã (Datalite ã®ã¢ã³ããã¿ãŒã³ãåé¿ããŸã)ãMySQL çš dbForge ããŒã¿ ãžã§ãã¬ãŒã¿ãŒ â 倧éã®çŸå®çãªãã¹ã ããŒã¿ãäœæããããã®åŒ·å㪠GUI ããŒã«ãOracle çš dbForge ããŒã¿ ãžã§ãã¬ãŒã¿ãŒ â Oracle ã¹ããŒãã«å€§éã®çŸå®çãªãã¹ã ããŒã¿ãèšå®ããããã®ãå°ãããªããã匷å㪠GUI ããŒã«ãSQL Server çš dbForge ããŒã¿ ãžã§ãã¬ãŒã¿ãŒ â ããŒã¿ããŒã¹çšã®ææ矩ãªãã¹ã ããŒã¿ãé«éã«çæããããã®åŒ·å㪠GUI ããŒã«ã
管çéšé
pgbadger - é«é㪠PostgreSQL ãã° ã¢ãã©ã€ã¶ãŒããã°ããããã㯠- Postgres ã¯ã©ã¹ã¿ãŒã®ããŒã«ãããŒã« ã¡ã³ããŒã·ãããã¹ããŒãã®æææš©ãããã³æš©éã管çããŸããpgslice Postgres ã®ããŒãã£ã·ã§ãã³ã°ã¯éåžžã«ç°¡åã§ãã
HA/ãã§ã€ã«ãªãŒããŒ/ã·ã£ãŒãã£ã³ã°
ã·ã¿ã¹ - ããŒã¿ãšã¯ãšãªãè€æ°ã®ããŒãã«åæ£ãã Postgres æ¡åŒµæ©èœããããã³ - ZooKeeperãetcdããŸã㯠Consul ã䜿çšãã PostgreSQL é«å¯çšæ§ã®ãã³ãã¬ãŒããPercona XtraDB ã¯ã©ã¹ã¿ãŒ â MySQL ã¯ã©ã¹ã¿ãªã³ã°ãšé«å¯çšæ§ã®ããã®é«ã¹ã±ãŒã©ããªã㣠ãœãªã¥ãŒã·ã§ã³ãã¹ããŒãã³ - PostgreSQL ã®é«å¯çšæ§ãå®çŸããã¯ã©ãŠã ãã€ãã£ã PostgreSQL ãããŒãžã£ãŒãpg_auto_failover - èªåãã§ã€ã«ãªãŒããŒãšé«å¯çšæ§ã®ããã® Postgres æ¡åŒµæ©èœãšãµãŒãã¹ãpglookout - PostgreSQL ã¬ããªã±ãŒã·ã§ã³ç£èŠããã³ãã§ã€ã«ãªãŒã㌠ããŒã¢ã³ãPostgreSQL èªåãã§ã€ã«ãªãŒã㌠- æ¥çåºæºã® Pacemaker ããã³ Corosync ã«åºã¥ã Postgres ã®é«å¯çšæ§ãpostgresql_cluster - PostgreSQL é«å¯çšæ§ã¯ã©ã¹ã¿ãŒ (ãPatroniãããã³ãDCS(etcd)ãã«åºã¥ã)ã Ansible ã«ãããããã€ã¡ã³ãã®èªååããã£ããã» - äžè¬åãããã·ã£ãŒãã£ã³ã°ã«ãã MySQL ã®æ°Žå¹³ã¹ã±ãŒãªã³ã°ã®ããã®ããŒã¿ããŒã¹ ã¯ã©ã¹ã¿ãªã³ã° ã·ã¹ãã ã
Kubernetes
KubeDB â Kubernetes äžã§å®çšŒåã°ã¬ãŒãã®ããŒã¿ããŒã¹ãç°¡åã«å®è¡ã§ããããã«ããŸããpostgres ãªãã¬ãŒã¿ãŒ â Postgres Operator ã¯ãPatroni ãå©çšãã Kubernetes (K8s) äžã§é«å¯çšæ§ã® PostgreSQL ã¯ã©ã¹ã¿ãŒãå®çŸããŸããã²ãŒã - Docker ã䜿çšãã HA PostgreSQL ã¯ã©ã¹ã¿ãŒãã¹ã¿ãã¯ã°ã¬ - Kubernetes äžã®ãšã³ã¿ãŒãã©ã€ãº ã°ã¬ãŒãã®ãã« ã¹ã¿ã㯠PostgreSQLã
æ§æã®ãã¥ãŒãã³ã°
MySQLTuner-perl â Perl ã§æžãããã¹ã¯ãªããã«ãããMySQL ã€ã³ã¹ããŒã«ãè¿ éã«ç¢ºèªããããã©ãŒãã³ã¹ãšå®å®æ§ãåäžãããããã®èª¿æŽãè¡ãããšãã§ããŸããPGã³ã³ãã£ã®ã¥ã¬ãŒã¿ãŒ â æé©åãããããŒã¿ãçæããç¡æã®ãªã³ã©ã€ã³ ããŒã«postgresql.conf
.pgtune - PostgreSQL æ§æãŠã£ã¶ãŒããpostgresqltuner.pl â PostgreSQL ããŒã¿ããŒã¹æ§æãåæãããã¥ãŒãã³ã°ã«é¢ããã¢ããã€ã¹ãæäŸããã·ã³ãã«ãªã¹ã¯ãªããã
DevOps
DBããšã¹ãã â DBmaestro ã¯ãªãªãŒã¹ ãµã€ã¯ã«ãå éããIT ãšã³ã·ã¹ãã å šäœã®ä¿ææ§ããµããŒãããŸããToad DevOps ããŒã«ããã â Toad DevOps Toolkit ã¯ãå質ãããã©ãŒãã³ã¹ãä¿¡é Œæ§ãæãªãããšãªããDevOps ã¯ãŒã¯ãããŒå ã§äž»èŠãªããŒã¿ããŒã¹éçºæ©èœãå®è¡ããŸãã
ã¹ããŒãã®ãµã³ãã«
Oracle ããŒã¿ããŒã¹ã®ãµã³ãã« ã¹ããŒã â Oracle ããŒã¿ããŒã¹ã®ãµã³ãã« ã¹ããŒãã
åçš®ã¬ããŒãäœæ
ããŒãª - SQL æ奜家åãã«æ§ç¯ããã䜿ãããã SQL ã¬ããŒã ã¢ããªã±ãŒã·ã§ã³ã
ãã£ã¹ããªãã¥ãŒã·ã§ã³
dbdeployer - MySQL ããŒã¿ããŒã¹ ãµãŒããŒãç°¡åã«ãããã€ããããŒã«ãdbatools - PowerShell ã¢ãžã¥ãŒã«ã¯ãã³ãã³ã ã©ã€ã³ SQL Server Management Studio ã®ããã«èããããšãã§ããŸããpostgres.app - æšæºã® Mac ã¢ããªãšããŠããã±ãŒãžåããããã«æ©èœã® PostgreSQL ã€ã³ã¹ããŒã«ãBigSQL â éçºè åãã® Postgres ãã£ã¹ããªãã¥ãŒã·ã§ã³ã象å°å± - PostgreSQL ã§äœ¿çšããããã€ãã®ãŠãŒãã£ãªãã£ãšã¢ããªã±ãŒã·ã§ã³ããã³ãã«ãããWeb ããŒã¹ã® PostgreSQL 管çããã³ããšã³ãã
ã»ãã¥ãªãã£
ã¢ã¯ã© - ããŒã¿ããŒã¹ã»ãã¥ãªãã£ã¹ã€ãŒãã ãã£ãŒã«ãã¬ãã«ã®æå·åãæå·åãããããŒã¿ã®æ€çŽ¢ãSQL ã€ã³ãžã§ã¯ã·ã§ã³é²æ¢ãäŸµå ¥æ€ç¥ããããŒããããåããããŒã¿ããŒã¹ ãããã·ã ã¯ã©ã€ã¢ã³ãåŽãšãããã·åŽ (ãééçã) æå·åããµããŒãããŸãã SQLãNoSQLã
ã³ãŒããã©ãŒããã¿
ã³ãŒããã - æ©æ¢°åŠç¿ã«ããèšèªã«äŸåããªãããããªå°å·ã
è²¢ç®
- ããªãã®è²¢ç®ã¯ãã€ã§ã倧æè¿ã§ã! ãèªãã§ãã ããã
è²¢ç®ã¬ã€ãã©ã€ã³ æåã
ããŒã¿ããŒã¹ - å ±æã®æ€çŽ¢çµæããããŸãã PR ãã¹ã¿ãŒãªã©ã®ãã£ãŒãããã¯ãåãã§åãåããŸãã ç¬èªã®ã·ãŒãã®äœæã«ã€ããŠè³ªåãããå Žåã¯ããããæžã蟌ãã§ãã ããã
åºæïŒ habr.com