DBA不要

2013年2月25日

多くの組織では、永続的なデータは、中央データベース管理グループによって管理されるリレーショナルデータベースに保存されることが期待されています。このような中央管理には様々な理由があり、通常は統合データベースの使用を中心としています。中央データグループは、不正なデータ、重要な共有リソースを遅くする可能性のあるクエリ、そして企業全体の整合性のあるデータモデルを回避することに関心を持っています。

これらの目標は価値のあるものかもしれませんが、その結果として、データの保存に関して相当な儀式が発生します。データベースに列を追加するのに数週間かかる変更依頼に関する苦情をよく耳にします。短サイクルの進化型設計に慣れている最新のアプリケーション開発者にとって、そのような儀式は遅すぎるだけでなく、非常に煩わしいものです。

そのため、アプリケーション開発グループは、DBAを迂回するためにNoSQLデータベースを使用していると私に話します。「適切なデータベース」ではなく「単なるデータストア」を使用していることが役立ちます。そうすることで、DBAをループから外すことができ、多くの場合、知らされなかったり、気にしないことを喜んだりします。[1]

これらすべてには良い面と悪い面があります。良い面としては、多くの組織のアプリケーション開発における問題となるボトルネックを解消するのに役立ちます。アプリケーション開発者とデータベース専門家の間の悲しい溝は多くの問題を引き起こし、最新の 開発 手法のDBAコミュニティにおける普及の低さが、多くの開発を阻んでいます。共有データベースは貧弱な統合メカニズムであり、NoDBA開発はWebサービスを統合の基礎として推進するのに役立ちます。[2]

悪い面としては、社会的理由でテクノロジーを使用すると、そのテクノロジーを適切に使用しないことが多いという点です。リレーショナルアプリケーションデータベースの方が適切な場合に、DBAを回避するためにNoSQLデータベースを使用する人がいることは想像に難くありません。データはしばしば重要な資産であり、DBAグループを迂回することは、貴重なデータをバックアップして保護する方法を知っている運用グループを迂回することを意味する可能性もあります。

もちろん、真の答えは、DevOpsムーブメントに沿ったデータ専門家との連携です。儀式を引き起こしているのはグループ間の障壁であり、データグループに悪魔がいるわけではありません。私たちは、DBAを利害関係者会議に招き、アプリケーションの広範な目標に関与させることで成功を収めてきました。また、DBAに手を差し伸べ、この新しいテクノロジーについて学ぶのを手伝い、データニーズのサポートにおいて貴重な助けを得たNoSQLプロジェクトも行ってきました。したがって、NoDBA戦略が適切な場合もありますが、連携の方が多くの場合優れています。

謝辞

いつものように、社内リストでのこの記事の下書きに関する議論は非常に興味深いものでした。特に、David Pattinsonの貢献を参考にさせていただきました。

注記

1: このコンテキストでは、MongoDBのインストール、設定、使用の容易さを挙げて、MongoDBを使用することが特に一般的のようです。

2: 変更要求への対応が遅い大きな原因の一つは、多くの既存のデータベースが本質的に、依存関係の巨大なウェブの中心にある複雑なレガシーアプリケーションであることです。これらのデータベースは壊れやすく、テストされていません(ひどい状態)ため、それを管理するDBAが変更をためらうのも当然です。そのようなシステムでは、最も賢い開発者でさえ、変更することをためらってしまうでしょう。