MySQL Users Conference 2011に続いて

2011年4月14日から17日にサンタクララ(カリフォルニア)で開催されたMySQLユーザー会議への旅行の印象を共有したいと思います。

過去数年とは異なり、会議中にMySQLで何も起こりませんでしたが、それ自体は素晴らしいことです(2年前、会議の初日にSun Microsystems Oracleの買収を発表したことを思い出します)。

まず第一に、私にとっての会議は人々とのコミュニケーションです。 今年はカンファレンスに多くの参加者はいませんでした(約1,100人)が、訪問者に対する講演者と専門家の割合は非常に高かったです。

会議の週の間に、多くのトピックが議論されました。いずれにせよ、関連するストーリーは機能しませんので、興味深いことをメモの形で説明します。

OracleのMySQLの新機能

会議でのオラクルのスピーカーの存在は非常に限られており、これは同社が当初米国の海岸でO'Reilly MySQLと並行して稼働していたCollaborate 11に焦点を移すことを計画したという事実によるものでした。 これは間違いだったと言わざるを得ません。Collaborate11のスピーカーは、リスナーは非常に少なく(最大20〜30人)、MySQLへの関心は間接的だったと言いました。 実際、Oracleはアプリケーションソフトウェアメーカーであり、Collaborate 11でRDBMSへの関心を期待するのは奇妙です。

メインレポートで、Thomas UlinはMySQL 5.6について話しました。現時点ではベータ5.6.2です。その主要な新機能はレプリケーションの分野に関連しており、MySQL 6.0の「最適化された」クエリクエリオプティマイザーにも注目する価値があります。 残りは、5.5、5.1、および5.0の機能を拡張する増分リリースです。

「ホット」な一見、新機能のうち、ThomasはInnoDBのmemcached APIについて話しました。 おそらくNoSQLテクノロジーのことは何も理解していないかもしれませんが、この考えはあまり現実的ではありませんでした。データの一貫性を損なうことなく、このAPIは読み取り専用です。 主にmemcached接続がトランザクションをコミットすることはめったにないため、このAPIは書き込みには適していません。

COMMITは高価な操作であり、定期的なコミットがなければ、他のNoSQLソリューションに対するInnoDBの利点はすべて失われます。 本当にMySQLをNoSQLとして使用したい場合、私の意見では、MySQL Cluster + Cluster APIはすぐに使用できるので、データの一貫性を損なうことなく大幅に高いパフォーマンスを得ることができます。

MySQL Cluster 7.2の参加プッシュダウンや新しいWindowsインストーラーなど、その他のニュースは個人的にはあまり面白くありませんでした。

MariaDBの機能について

一言で言えば、Monty Programは5.2 GAをリリースし、5.3 GAのリリースを準備しています。
5.2の主な機能は仮想列です。つまり、テーブルで追加の「計算済み」列を指定する機能です。 これは、そのような列にインデックスがある場合に最も便利です。毎回値を再計算することなく、計算結果ですばやく検索できます。 私の意見では、2番目は、この機能の便利なアプリケーションとパーティション化です。
なぜなら PARTITION BY演算子で任意の式を使用することはできませんが、代わりに、計算結果を保存された仮想列に入れて、その列をPARTITION BYステートメントで指定できます。

私は例を挙げません、彼らは
kb.askmonty.org/v/virtual-columns
www.openlife.cc/blogs/2010/october/what-would-you-use-virtual-columns

5.3にはかなり多数の機能が含まれています。 ある意味、これはMariaDBのMySQL 5.5です。これは、MySQL 6.0の後半のブランチで一緒に取り組んだすべてのオプティマイザー機能、Monty Program Abプログラマーが思い起こしてMariaDB 5.3に含めたものです。

5.3で最も深刻なことのうち、新しいコストベースのサブクエリオプティマイザーが作成され、ハッシュ結合が実装され、時間型でのマイクロ秒のサポートが追加されました。 これらはすべて、長く骨の折れる作業を必要とする複雑なタスクです。

6.0コードが実際にもう一度書き直されたという事実と、最高のMySQLテストエンジニアがMonty Program Abで働いているという事実(Philip Stoyevだけでも部門全体の費用がかかる)により、機能が非常に安定することを確信しています。

MariaDB 5.3はMySQL 5.1に基づいており、MySQL 5.5とMariaDB 5.3の両方のメリットを得るために、年末まで待つ必要があります。Monty(彼の楽観主義を値引きする必要がある)によると、2つのシステムの機能を組み合わせたMariaDB 5.5がリリースされます。

この会議でのMariaDBに対する私の個人的な態度は変わりました。 わずか2年前、Montyは自分のフォークを持ちたいだけで、すべてのパッチを連続して含める準備ができているようでした。 ほこりが落ち着いた今、弱いパッチが自然に落ち、開発プロセスが落ち着いて良い結果をもたらしていることは明らかです。
数年以内にMariaDBはOracleのMySQLと競合できるようになると思います。

参照:
en.oreilly.com/mysql2011/public/schedule/detail/19899
asset.en.oreilly.com/1/event/36/New%20Query%20Engine%20Feature

ドライブン

このフォークに興味のある人にとって、DrizzleがDrizzle7の最初の安定版リリースをリリースしたことはもはやニュースではありません。 ニュースは、Drizzle開発のメインスポンサーであった米国の主要なホスティングプロバイダーであるRackspaceが、安定したリリースのリリースにより、このプロジェクトの財政的支援を終了したことです。 その開発を後援する企業があるかどうかはまだ不明です。

特にDrizzleのアイデアの多くが注目に値するため、このプロジェクトが突然終了することはないと思います。 たとえば、人気のある一時的なDBMS InterbaseのオープンソースバージョンであるFirebirdを考えてみましょう。プロジェクトがまだ開発を続けていることを知っている人はほとんどいません。

残念ながら、MySQLの他のフォークとは異なり、Drizzleは私の意見では「その」ユーザーを見つけることができませんでした。 私はそのようなユーザーと、Drizzleが好まれた理由を知りません。

関連リンク:

krow.livejournal.com/700783.html
en.oreilly.com/mysql2011/public/schedule/detail/17806

シュワルツ男爵による基調講演

パーコンのリードアーキテクトであるバロンシュワルツは、常に個人的にプロテスタントの宣教師を思い出させました。 オープンソースDBMSの将来に関する彼のレポートは、精神的に宣教師でした。

しかし、この報告についてはほとんど言うことがありません。 業界の技術変化のかなり明白な観察に加えて、このレポートは贈り物と願いのリストを含むサンタクロースへの手紙に似ています。

実際、オープンソースデータベースは、最新の技術的現実の要件を満たしていないため、商用DBMSを完全に置き換えることはできません。 ただし、業界の発展を予測するには、オペレーティングシステムの市場を見れば十分です。オペレーティングシステムのアーキテクチャの安定化は、主にハードウェア環境のアーキテクチャの安定化に伴います。 幸いなことに、DBMSハードウェア環境は活発に開発され続けており、これにより業界は永遠に若く維持されています。

このレポートに言及したいのは、1つの理由-リレーショナルデータモデルが業界で支配的なままであるという定説です。 私はこれに完全に同意します。 しかし、私の信念の理由は非常に具体的であり、長い間知られています-データモデルとそのプレゼンテーション、単純さ、明確な数学的装置との分離。 リレーショナルモデル-これは、多くのアプローチと表現を組み合わせた最大の公約数です。 この卓越した汎用性により、このモデルが40年間関連性を維持できます。

このレポートは、OracleがMySQLに焦点を合わせていることの証拠の1つとしてMySQL 5.5に言及し、Oracleに向けて縮小しました。 残念ながら、そのような場合、システムソフトウェア開発サイクルの長さは常に見落とされます。MySQL5.5は、Oracleの買収が計画されるずっと前の2005年に誕生しました。 Oracleをサポートしたいという希望は称賛に値しますが、Oracleの意図の証拠の1つとして5.5が言及されていることはすでに痛ましいです。
5.5のリリースに感謝する企業がある場合、これはSun Microsystemsであり、マーケティングティンパニは技術革新をサポートする文化に長い間置き換えられてきました。

en.oreilly.com/mysql2011/public/schedule/detail/17808

Bruce Momzhiyanとの会話

ブルースとの最初の会議は、2004年にポートランドで開催されたO'Reillyオープンソースコンベンションで開催されました。 その後、私はスタンドで働きました-ユーザーと話をして、新しい製品の機能を示しました。 ブルースが現れて、いつ取引があったのか尋ねました:)
今年、PostgreSQLとEnterpriseDBが会議に積極的に参加しました-全体報告書、いくつかの定期報告書、展示会の巨大なスタンド。 知り合いを思い出して、PostgreSQLで最終的に複製が表示される時期について会話を始めました。

もちろん、PostgreSQLのレプリケーションはかなり前から存在していましたが、バージョン9.0からサーバーに組み込まれて以来、心強いものとなっています。 MySQLとは異なり、PostgreSQLは追加のレプリケーションログ(バイナリログ)を必要としませんが、トランザクションストレージの先読みログをレプリカに単に転送します。 これにより、ディスクへの書き込み量が削減されるだけでなく、グループコミットの問題や、MySQLでの効果的な実装が長年試みられてきた分散トランザクション(XA)のサポートの必要性もなくなります。

したがって、PostgreSQLのレプリケーションログの形式は「物理」です。つまり、テーブルと行を参照せずに、ディスク上のページとファイルに対する実際の変更が含まれます。これにより、MVCC(マルチバージョン)追加のロックなしで囲まれています。

一般に、PostgreSQLのレプリケーションはよりシンプルで信頼性が高く、これは、たとえば複雑なレプリケーショントポロジを作成する必要がある場合の利点と欠点の両方です。

developer.postgresql.org/pgdocs/postgres/high-availability.html
kristiannielsen.livejournal.com/12254.html
www.theserverside.com/feature/Comparing-MySQL-and-Postgres-90-Replication

タングステン複製

レプリケーションのトピックの続き:興味深いレポートは、MySQLとPostgreSQLのレプリケーション製品であるタングステンレプリケーターに関するContinuentからでした。 タングステンレプリケーターを使用すると、多かれ少なかれ「非標準」の使用で発生する多くの問題を解決できます。
MySQLレプリケーション:

-グローバルレプリケーションIDのサポート。レプリカの1つが失敗した場合の回復を大幅に簡素化します。
-マルチソースレプリケーション-つまり、同じレプリカが複数のソースからデータを受信できる場合
サーバー。 競合を解決するために、タングステンにはJavaでトリガーを作成する機能があります。
-複数のスレッドでレプリケーションを使用する場合のパフォーマンスの向上(現在のレプリケーション
MySQLでは常に単一のスレッドで実行されます)
-複製イベントに任意のフィルターを設定する機能。 MySQLはこれに変数を使用します。
replicate-do-db、replicate-wild-doなど。
-レプリカの整合性を確認します。

公平に言えば、多くのMySQL 5.6.2レプリケーション機能がタングステンを繰り返すと言わなければなりません
レプリケーター 一方、これは実装されたソリューションの関連性のみを確認します。
Continuentのタングステンレプリケーターで、彼は年間最優秀製品賞を受賞しました。

タングステン.sourceforge.net / docs / Tungsten-Replicator-Guide / Tungsten-Replicator-Guide.html
en.oreilly.com/mysql2011/public/schedule/detail/19268

マーティン・ミコスによる報告

テンはいつもスピーカーとして私をいつも惹きつけてくれました。
彼のレポートでは、クラウドコンピューティングの発展によりソフトウェアの世界がどのように変化するかを理解しようとしました。 このレポートの主なポイントは次のとおりです。

-インターネットは、ユーザー数が数十億人に増加し、さらなる質的飛躍を待っています

-インターネット上のデータ量も指数関数的に増加しています。 これにより、次のような新しいソリューションが必要になります。
NoSQL NoSQLテクノロジーが正当化される主な理由は、
NoSQLによるハードウェアのユーザー節約。 著しい累積効果があります。

-クラウドインフラストラクチャの開発により、Linuxディストリビューションなどのソフトウェア配布チャネルで作業する必要がなくなります。 オペレーティングシステム用のパッケージをダウンロードできるようにする必要はありません。クラウドのサービスにアクセスするだけです。 引用マルテン:
「GPLは二次的著作物の配布に関するものでした。 派生作品はまだ存在しますが、まだそれらを配布している会社はほとんどありません。」

-クラウドテクノロジーは、従来のDBMSに加えて、新しいデータウェアハウスとインフラストラクチャ上に構築されます

-クラウドインフラストラクチャでのオープンソースソフトウェアの開発モデルは変化しています-派生物に関する問題はもうありません。 ソフトウェアは配布されなくなりました。

-Webソフトウェア開発モデルは変化しています:
クラウドインフラストラクチャ内の多くの比較的弱いシングルプロセッサ仮想マシン-新しいプラットフォーム
最初は小さなサイトでも開発

en.oreilly.com/mysql2011/public/schedule/detail/17807

私自身の報告

私の話は、MySQL 5.5の新しいロックサブシステムについてでした。 私はこれらと評価を繰り返さず、レポートは電子形式で完全に利用可能であり、プレゼンテーションとテキストは会議プログラムとオンラインで見つけることができます。

en.oreilly.com/mysql2011/public/schedule/detail/17340
www.slideshare.net/kostjaosipov/metadata-locking-in-mysql-55

Source: https://habr.com/ru/post/J119418/


All Articles