sql >> データベース >  >> RDS >> Mysql

Oracle、MSSQL、MySQL、PostgreSQL間の基本的な管理の比較

    組織へのDevOpsの導入により、開発プロセスが変更され、いくつかの新しい課題も導入されました。さらに、開発者とDevOpsチームは、独自に選択したプログラミング言語とともに、お気に入りのデータベースシステムも持っています。

    製品のライフサイクルは年々短くなっているため、開発者は自分たちが最もよく知っているテクノロジーを使用して、迅速に開発できることを望んでいます。

    複数のRDBMSデータベースバックエンドがあるということは、組織が開発側でより機敏になることを意味しますが、運用チームに追加の知識を課すことにもなります。

    インフラストラクチャを1つのデータベースから多数のデータベースに拡張することは、それらを監視、管理、およびスケーリングする必要があることを意味します。

    すべてのストレージバックエンドはさまざまなユースケースで優れているため、これは、すべてのストレージバックエンドの車輪の再発明が必要であることも意味します。

    類似点と主な相違点を知ることは、RDBMSのさまざまなフレーバーに没頭するのに役立ちます。

    この記事では、次の点について説明します。

    • プラットフォームの簡単な紹介
      • Oracle、MSSQL、MySQL、PostgreSQL
    • プラットフォームのサポート
    • インストールプロセス
    • データベースアクセス
    • バックアッププロセス
    • クエリ実行の制御
    • セキュリティ
    • レプリケーションオプション
    • コミュニティサポート

    プラットフォームの簡単な紹介

    PostgreSQLは、世界で最も先進的なオープンソースデータベースとして多くの人に認められています。これは、MITまたはBSDライセンスに匹敵する、独自のライセンスであるPostgreSQLライセンスの下でリリースされた完全にオープンなソースデータベースシステムです。 PostgreSQLコミュニティは活発で、既存および新機能を継続的に改善しています。 DB-engineの人気ランクによると、PostgreSQLは2017年と2018年のDBMSでした。DB-Enginesの人気は、この傾向が何年にもわたって変わらなかったことを示しています。

    興味深い事実は、PostgreSQLが1994年までSQLをサポートしていなかったことです。QUEL言語を使用してSQLからデータをクエリしました。 SQLサポートは後で追加されました。

    PostgreSQLには、主キー、外部キー、アトミック機能に加えて、ビュー、ストアドプロシージャ、インデックス、トリガーなど、他のエンタープライズデータベース管理システムが提供する多くの高度な機能があります。

    PostgreSQLは、既存の機能を変更したり、新しい機能を追加したり、オープンソースであるため自由に配布したりすることで、ユーザーが拡張できます。 UNIX、MacOS、Windows、Linuxなどの主要なプラットフォームで動作します。ビデオ、テキスト、オーディオ、画像、さまざまな言語のプログラミングインターフェイスをサポートしています。サポートされている言語のリストには、C / C ++、Java、Python、Perlなどが含まれます。

    オラクル は、ITの世界でRDBMS(リレーショナルデータベース管理システム)の最大のベンダーの1つです。これは、Oracleデータベース、Oracle DB、またはOracleが販売するOracleとして知られています。

    Oracle Databaseは、トランザクション処理、ビジネス分析、ビジネスインテリジェンスアプリケーションの目的などで、IT業界の多くの企業で使用されています。

    Oracleには長くて非常に興味深い歴史があります:

    1977年6月16日、ソフトウェア開発研究所(SDL)は、カリフォルニア州サンタクララにラリーエリソン、ボブマイナー、エドオーツによって作成されました。 1977年にOracleはCIAプロジェクトのコードネームからその名前を取り、1979年に最初に商用化されたOracleRDBMSが世界に公開されました。

    Oracleデータベースは、Enterprise Edition Standard Edition、Express Edition、OracleLiteなどのさまざまなエディションで利用できます。 Oracleデータベースの最大の競合相手はMicrosoftSQLサーバーです。

    Microsoft SQL Server は非常に人気のあるRDBMSであり、データベースのサイズが大きい場合、またはデータベースがかなりの数のクライアントによって使用されている場合は、ライセンスが制限され、所有コストが低くなります。

    これは、Oracle DatabaseおよびIBMのDB2とともに、市場をリードする3つのデータベーステクノロジーの1つです。

    非常にユーザーフレンドリーなインターフェースと習得が容易なため、インストールされているユーザーベースが大きくなっています。

    他のRDBMSソフトウェアと同様に、Microsoft SQL Serverは、データベース管理者(DBA)や他のITプロフェッショナルがデータベースの管理とデータベースに含まれるデータのクエリに使用する標準化されたプログラミング言語であるSQLの上に構築されています。 SQL Serverは、標準言語に独自のプログラミング拡張機能のセットを追加するMicrosoftのSQLの実装であるTransact-SQL(T-SQL)に関連付けられています。

    MySQL

    MySQLは、SQLに基づくOracleが支援するオープンソースのリレーショナルデータベース管理システムです。

    もともとスウェーデンの会社MySQLABによって考案された、MySQLは2008年にSun Microsystemsに買収され、2010年にSunを買収したときにOracleに買収されました。

    開発者は、GNU General Public License(GPL)の下でMySQLを使用できます。 Enterpriseバージョンには、セキュリティと高可用性のためのサポートと追加機能が付属しています。

    これは、db-enginesランキングによると、世界で2番目に人気のあるデータベースであり、世界中のほとんどのインターネットサービスを実行しているため、おそらく地球上で最も存在するデータベースバックエンドです。 MySQLは、Linux、UNIX、Windowsを含む実質的にすべてのプラットフォームで実行されます。

    MySQLは、LAMPと呼ばれるオープンソースのエンタープライズスタックの重要なコンポーネントです。

    LAMPは、オペレーティングシステムとしてLinux、WebサーバーとしてApache、リレーショナルデータベース管理システムとしてMySQL、オブジェクト指向のスクリプト言語としてPHPを使用するWeb開発プラットフォームです。

    プラットフォームのサポート

    Oracle

    OracleDBの最も人気のあるバージョンであるOracle12cは、さまざまなオペレーティングシステムとプラットフォームでサポートされている真のエンタープライズRDBMSシステムです。 Oracleは、メインフレーム、Sparc、MacからIntelに至るまで、数十のプラットフォームで実行されるため、データベースの世界を支配しています。このリストには、次のOSとアーキテクチャの組み合わせが含まれています。x86-64上のLinux(Red Hat Enterprise Linux、Oracle Linux、およびSUSEディストリビューションのみがサポートされています)x86-64上のMicrosoftWindows。 SPARCおよびx86-64上のOracleSolaris。 POWERSystems上のIBMAIX。 Linux on IBM zEnterprise Systems HP-UXonItanium。

    MSSQL

    SQLはMicrosoft製品であるため、WindowsOSと非常に互換性があるように設計されています。 2016年11月16日、Microsoftは新しいストーリーの始まりを発表しました。SQLServerがLinuxとDockerでサポートされるようになりました。地獄が凍りつく!

    MySQL

    MYSQLは、Microsoft、UNIX、Linux、Macなどのすべてのプラットフォームでよりスムーズな実行を実行します。

    PostgreSQL

    一般に、PostgreSQLはさまざまな(エキゾチックな)CPUアーキテクチャとオペレーティングシステムで動作することが期待できます。

    これには、x86、x86_64、IA64、PowerPC、PowerPC 64、S / 390、S / 390x、Sparc、Sparc 64、Alpha、ARM、MIPS、MIPSEL、M68K、PA-RISCなどのCPUアーキテクチャが含まれます。多くの場合、-disable-spinlocksを使用して構成することで、サポートされていないCPUタイプで構築できますが、パフォーマンスは低下します。

    PostgreSQLは、次のオペレーティングシステムで動作することが期待できます:Linux(すべての最近のディストリビューション)、Windows(Win2000 SP4以降)、FreeBSD、OpenBSD、NetBSD、Mac OS X、AIX、HP / UX、IRIX、Solaris、Tru64 Unix、およびUnixWare。

    インストールプロセス

    Oracle

    提示された4つのデータベースシステムすべての中で、Oracleには、複雑なインストールプロセスを伴う最も複雑なシステム要件があります。 WindowsベースのプラットフォームとLinuxベースのプラットフォームの両方で、Oracleは専用のOracle Universal Installer(OUI)ツールをメインのインストールプロセスとして使用します。 OUIは、OracleDatabaseソフトウェアのインストールに使用されます。 OUIは、次のことを可能にするグラフィカルユーザーインターフェイスユーティリティです。

    • マシンにインストールされているOracleソフトウェアを表示する
    • 新しいOracleデータベースソフトウェアをインストールします
    • 不要になったOracleソフトウェアを削除します。

    インストールプロセス中に、OUIはOracle Database Configuration Assistant(DBCA)を起動します。これにより、サンプルスキーマを含む事前に作成されたデフォルトデータベースをインストールしたり、カスタマイズされたデータベースを作成および構成するプロセスをガイドしたりできます。

    OracleOUI-インストールインターフェイス

    インストール中にデータベースを作成しない場合は、ソフトウェアのインストール後にDBCAを呼び出して、1つ以上のデータベースを作成できます。

    MSSQL

    SQL Server 2016(13.x)以降、SQLServerは64ビットアプリケーションとしてのみ使用できます。

    インストールは、インストールウィザード、コマンドプロンプト、またはsysprepツールを介して行われます。

    インストールウィザードは、SQLServerインストールセンターを実行します。 SQL Serverの新しいインストールを作成するには、左側の[インストール]オプションを選択し、[新しいSQL Serverスタンドアロンインストール]をクリックするか、既存のインストールに機能を追加します。

    Linuxベースのインストールは、オープンソースデータベースのインストール方法と非常によく似ています。 DebianおよびRedHatベースのシステムのパッケージ化をサポートしています。手順は、MySQLと非常によく似た、リポジトリ構成、パッケージインストール、およびインストール後の構成で構成されます。プロセス全体については、次の記事で詳しく説明します。

    MSSQLインストールウィザード



    MySQL

    Oracleは、MySQLのバイナリディストリビューションのセットを提供しています。これらには、多数のプラットフォーム用の圧縮されたtarファイル(拡張子が.tar.gzのファイル)の形式の一般的なバイナリ配布、およびプラットフォーム固有のパッケージのバイナリが含まれます。 Windowsプラットフォームでは、インストールプロセスはGUIを介した標準のインストールウィザードによってトリガーされます。

    PostgreSQL

    PostgreSQLはほとんどのLinuxディストリビューションで利用できるため、単純なyumまたはapt-getコマンドを使用してインストールできる可能性が非常に高くなります。 HA構成の場合、ClusterControls9sツールまたはGUIを使用できます。 S9Sツールは、1行のコマンドでPostgreSQLクラスターを作成するのに役立ちます。

    $ s9s cluster \
    --create \
    --cluster-type=postgresql \
    --nodes="192.168.0.91?master;192.168.0.92?slave;192.168.0.93?slave" \
    --provider-version='11' \
    --db-admin='postgres' \
    --db-admin-passwd='s3cr3tP455' \
    --os-user=root \
    --os-key-file=/root/.ssh/id_rsa \
    --cluster-name='PostgreSQL 11 Streaming Replication' \
    --wait
    Creating PostgreSQL Cluster
    \ Job 259 RUNNING    [█▋        ]  15% Installing helper packages

    詳細については、このブログを確認してください。

    データベースへのアクセスとDBの作成

    Oracle

    Oracleは、バイナリ作成とデータベース作成のプロセスを分離します。他の一般的なデータベースシステムとは異なり、データベースの作成にははるかに多くの手順が必要です。

    データベース構成アシスタント(DBCA)は、はるかに自動化されたアプローチでデータベースを作成できるため、データベースを作成するための推奨される方法です。 DBCAは、選択したインストールのタイプに応じて、Oracle Universal Installer(OUI)によって起動できます。 Oracle Databaseのインストール後はいつでも、スタンドアロンツールとしてDBCAを起動できます。

    DBCAは、インタラクティブモードまたは非インタラクティブ/サイレントモードで実行できます。インタラクティブモードは、データベースを作成および構成するためのグラフィカルインターフェイスとガイド付きワークフローを提供します。非対話型/サイレントモードでは、データベース作成のスクリプトを作成できます。コマンドライン引数、応答ファイル、またはその両方を指定することにより、非対話型/サイレントモードでDBCAを実行できます。

    OracleDBCA-データベースの作成

    データベースが作成されると、sqlplusと呼ばれる専用クライアントを使用してデータベースにアクセスできます。 SQL * Plusは、OracleDatabaseにアクセスできるターミナルクライアントプログラムです。

    MSSQL

    SQL Server Management Studio(SSMS)は、データベースエンジンを管理し、Transact-SQLコードを作成するための主要なツールです。 SSMSは、Microsoftダウンロードセンターから無料でダウンロードできます。最新バージョンは、古いバージョンのデータベースエンジンで使用できます。

    Management Studioは、新しいデータベースを作成するための推奨される方法です。 Microsoft SQL Serverでデータベースを作成するには、管理者アカウントを使用してMicrosoftSQLServerがインストールされているコンピューターに接続します。
    MicrosoftSQL Server Management Studioを起動し、データベースオプションの作成を選択します。ウィザードプロセスにより、プロセスが順を追って説明されます。コマンドラインが必要な場合は、CREATEDATABASE構文を使用して実行できます。

    MySQL

    MySQLデータベースにアクセスするには、mysqlクライアントを使用します。データベースの作成は、CREATEDATABASE

    と同じくらい簡単です。

    PostgreSQL

    PostgreSQLデータベースには、MySQLのデータベースと同様に動作する複数の「スキーマ」のオプションがあります。

    スキーマにはテーブルやインデックスなどが含まれており、それらを格納するデータベースへの同じ接続から同時にアクセスできます。 PostgreSQLのアクセス方法は、ファイルpg_hba.confで定義されています。さまざまな場所に配置できます。 Ubuntu 14.04では/etc/postgresql/9.3/main/pg_hba.confにありますが、Centos7ではデフォルトで/var/lib/pgsql/data/pg_hba.confにあります。

    バックアッププロセス

    Oracle

    Oracleには、ここで説明する4つのサーバーすべての中で最も複雑な専用の組み込みバックアップツールがあります。これはRecoveryManager(RMAN)と呼ばれます。

    RMANを使用すると、高度なバックアップポリシーと選択的復元を実行できます。同じ操作では、通常、他のRDBMSで多くの手動手順が必要です。

    バックアップは2つの方法で取得できます。

    • データベースの無効化と物理ファイルのコピー(いわゆるコールドバックアップ)
    • RMANを使用して、データベースを無効にせずにバックアップを作成します(ホットバックアップ)

    ホットバックアップを作成するには、ベースをARCHIVELOGモードに設定します。これにより、REDOログファイルのコピーをアーカイブログとして保持しないようにOracleに指示されます。

    MSSQL

    MS SQLの世界では、組み込みのT-SQLコマンドを使用してデータベースをバックアップおよび復元できます。 mysqlhotcopyやmysqldumpなどのツールを使用する必要はありません。

    MS SQL Serverは、3つの異なるオンラインバックアップ戦略を提供します。

    • シンプルなリカバリモデル(ALTER DATABASE dbname SET RECOVERY SIMPLE)
    • 完全復旧モデル(ALTER DATABASE dbname SET RECOVERY FULL)
    • 一括ログリカバリモデル(ALTER DATABASE dbname SET RECOVERY BULK_LOGGED)

    推奨されるモデルは、データの損失が許容できない場合の完全復旧です。このモードは、バイナリログが有効になっている場合のMySQL機能に似ています。データベースはいつでも回復できますが、データベースだけでなくトランザクションログも定期的にバックアップする必要があります。

    一括ログモデルは、データのインポートや大きなテーブルへのインデックスの作成など、大規模な一括操作に使用できます。データベース、特に本番環境を実行する方法はあまり一般的ではありません。ポイントインタイムリカバリをサポートしていないため、通常は一時的なソリューションとして使用されます。

    Simpleモデルは、データベースがめったに更新されない場合、またはテストと開発の目的で役立ちます。 SIMPLEモードでは、トランザクションが完了するたびにデータベースのトランザクションログが切り取られます。他のモードでは、ログはCHECKPOINTステートメントまたはトランザクションバックアップファイルの後で切り捨てられます。データベースが破損した場合、最新のバックアップのみを復元でき、このバックアップ以降のすべての変更は失われます。

    MySQL

    MySQLとMariaDBで最も人気のある2つのバックアップユーティリティ、つまりmysqldump論理バックアップとバイナリバックアップPercona XtraBackupとMariaBackup(Percona XtraBackupのフォーク)を利用できます。 MySQL Enterpriseバージョンは、XtraBackupおよびMariaBackupホットバックアップツールに類似したmysqlbackupも提供します。

    PostgreSQL

    ほとんどのDBMSには、いくつかの組み込みのバックアップツールが用意されています。 PostgreSQLには、すぐに使用できるpg_dumpとpg_dumpallがあります。ただし、本番データベースには他のツールを使用することをお勧めします。詳細については、PostgreSQLの上位のバックアップツールに関する記事を参照してください。

    クエリの実行と同時実行のサポートの制御

    Oracle

    Oracleでは、すべてのデータベースオブジェクトがスキーマごとにグループ化されています。スキーマはデータベースオブジェクトのコレクションであり、すべてのデータベースオブジェクトはすべてのスキーマとユーザー間で共有されます。 MySQLデータベースに変換できます。すべて共有されていますが、各ユーザーは、ロールと権限を介して特定のスキーマとテーブルに制限できます。この概念は、MySQLデータベースと非常によく似ています。こんにちは

    MSSQL

    MS SQL Serverは、テーブル、ビュー、プロシージャなどのすべてのオブジェクトをデータベース名で整理します。ユーザーはログインに割り当てられ、特定のデータベースとそのオブジェクトへのアクセスが許可されます。また、SQL Serverでは、各データベースのサーバー上に非共有のプライベートディスクファイルがあります。

    MySQL

    MySQLはInnoDBでのみMVCCをサポートしています。これはストレージエンジンであり、デフォルトでMySQLで使用できます。また、外部キーのサポートやトランザクション処理などのACIDクレーム機能も提供します。デフォルトでは、各クエリは個別のトランザクションとして扱われます。これは、OracleDBとは異なるアプローチです。

    PostgreSQL

    Postgresエンジンは、MVCC(Multiversion Concurrency Control)と呼ばれる方法を使用して同時実行制御を実行します。データベースに接続しているすべてのユーザーについて、Postgresデータベースは特定のインスタンスでのデータベースのスナップショットを提供します。データベースがアイテムを更新する必要がある場合、データベースは新しいバージョンを追加し、古いバージョンを廃止としてポイントします。データベースのオーバーヘッドを節約できますが、古くて古いデータを削除するには、調整されたスイープが必要です。

    セキュリティ

    Oracle

    セキュリティ機能は優れており、システムは、リスクの評価、不正なデータ開示の防止、データベースアクティビティの検出とレポート、およびデータアクセス制御の実施を行うための制御を含む多層セキュリティを提供します。

    MSSQL

    セキュリティ機能は控えめで、RDBMSはOracleよりも少ない機能を提供しますが、それでもオープンソースデータベースシステムよりもはるかに多くの機能を提供します。

    MySQL

    MySQLは、ユーザーが実行しようとする可能性のあるすべての接続、クエリ、およびその他の操作に対して、アクセス制御リスト(ACL)に基づくセキュリティを実装します。 MySQLクライアントとサーバー間のSSL暗号化接続もサポートされています。

    PostgreSQL

    PostgreSQLには、権限を設定および維持するためのROLESと継承された役割があります。 PostgreSQLは、クライアント/サーバー通信を暗号化するための接続に対してネイティブSSLをサポートしています。行レベルのセキュリティもあります。
    これに加えて、PostgreSQLにはSE-PostgreSQLと呼ばれる組み込みの拡張機能があり、SELinuxセキュリティポリシーに基づいて追加のアクセス制御を提供します。詳細はこちら。

    コミュニティサポート

    Oracle

    Oracleデータベースには、MySQLと同様に、大部分がhttps://community.oracle.comを中心に編成された大規模なコミュニティと、https://poug.org/en/などの世界中のあらゆる場所にある情熱的なグループがあります。有料サポートでは、support.oracle.comではなく以前はmetalinkと呼ばれていたサポートグループにアクセスできます。

    MSSQL

    他のデータベースシステムと比較すると、MSSQLにはおそらく最も組織化されていないコミュニティグループがありますが、それでも非常にアクティブです。マイクロソフトは、大学で自社製品を宣伝する上で素晴らしい仕事をしています。これにより、若い開発者、DevOps、DBAは、テクノロジー(無料ライセンス)や必要な資料に簡単にアクセスできます。

    MySQL

    MySQLには、特にOracleによる買収後、主に既存の機能の維持に焦点を当て、時折出現するいくつかの新機能を備えた貢献者の大規模なコミュニティがあります。他のオープンソースデータベースに対する利点は、非常に強力な外部ベンダーのエコシステムです。 MariaDBやPerconaのような企業は、優れたサポートを提供するだけでなく、オープンソースバージョンにエンタープライズ機能を追加することで貢献しています。

    PostgreSQL

    PostgreSQLには非常に強力で活発なコミュニティがあります。そのコミュニティは既存の機能を改善し、革新的なコミッターは、新しい機能とセキュリティを備えた最先端のデータベースであり続け、OracleデータベースとMSSQLデータベース間の距離を制限するよう努めています。 PostgreSQLは、市場に出回っている他のRDBMSよりも多くの機能を備えていることで知られています。

    レプリケーションオプション

    Oracle

    Oracleは、組み込みのOracleDataGuardを介して論理的および物理的なレプリケーションを提供します。これはエンタープライズ機能です。
    DataGuardはShipRedo/ Apply Redoテクノロジーであり、「redo」はトランザクションを回復するために必要な情報です。

    プライマリデータベースと呼ばれる本番データベースは、スタンバイデータベースと呼ばれる1つ以上のレプリカにREDOをブロードキャストします。テーブルに挿入または更新が行われると、この変更はログライターによってアーカイブログにキャプチャされ、スタンバイシステムに複製されます。

    スタンバイ・データベースは、プライマリ・データベースとの同期を維持するためにREDOを検証および適用して、リカバリーの継続的なフェーズにあります。スタンバイデータベースは、停電やネットワークの問題などにより一時的にプライマリデータベースから切断された場合にも、自動的に再同期されます。

    マルチソースの選択的レプリケーションなどのより柔軟なレプリケーションオプションについては、追加の有料ツールであるOracleGoldenGateを検討する必要があります。

    MSSQL

    Microsoft SQL Serverは、分散アプリケーションで使用するために次の種類のレプリケーションを提供します。

    • トランザクションレプリケーション
    • レプリケーションのマージ
    • スナップショットレプリケーション

    Microsoft Integration Servicesを使用して大幅に拡張できるため、レプリケーションフローをすぐにカスタマイズできます。

    PostgreSQL

    PostgreSQLにはいくつかのオプションがあり、レプリケーションで必要なものに応じて、それぞれに長所と短所があります。ビルドオプションは、先行書き込みログに基づいています。ファイルはスタンバイサーバーに送られ、そこで読み取られて再生されます。ストリーミングレプリケーションでは、読み取り専用のスタンバイサーバーがデータベース接続を介してトランザクションログをフェッチして再生します。より高度なレプリケーションアーキテクチャの場合は、Slony(マスターから複数のスレーブ)またはBucardo(マルチマスター)を確認することをお勧めします。

    MySQL

    MySQLレプリケーションは、おそらくMySQLで最も人気のある高可用性ソリューションであり、
    トップのWebサービスで広く使用されています。

    セットアップは簡単ですが、ソフトウェアのアップグレード、スキーマの変更、トポロジの変更、フェイルオーバー、リカバリなどの継続的なメンテナンスには常に注意が必要です。

    MySQLレプリケーションにはサードパーティのツールは必要ありません。マスタースレーブとマルチマスターの両方をすぐに実行できます。

    MySQLの最近のバージョンでは、マルチソースレプリケーションとグローバルトランザクションIDが追加されており、信頼性が高く、保守が容易になっています。

    結論

    OracleやMSSQLなどの優先データベースは、堅牢な管理システムと優れたサポートを提供します。サポートされている機能の長いリストの中で、ユーザーはエンタープライズサポートと有料のナレッジシステムへのアクセスの安心感を得ることができます。

    一方で、機能のギャップやエンタープライズプラグインほど大きくないライセンスのコストにより、オープンソースの決定にこれまで以上に簡単に移行できるようになります。

    事前定義されたプロセスと自動化を使用すると、時間を節約できるだけでなく、よくある間違いからも保護できます。

    データベースライフサイクルのさまざまな側面すべてに体系的に対処する管理プラットフォームは、多数のポイントソリューションにパッチを適用するよりも堅牢になります。


    1. MySQLでの文字列の連結

    2. SQL Serverで先行ゼロをトリミングするためのより良い手法はありますか?

    3. Postgres-行を列に転置

    4. MySQLビューのリストを取得するにはどうすればよいですか?