web-dev-qa-db-ja.com

MongoDBとRDBMS DBAの役割

RDBMS DBAと比較したMongo DBAの日常のタスク/義務の違いは何ですか?

たとえば、一部のサイトでは、MongoDB DBAはデータのモデリングやデータベースの設計を行う必要がないと主張しています。これは、開発者やアプリケーション設計者が行うためです。

これは、以前はRDBMS DBAが行っていた一部のタスクをMongoDB管理で行う必要がなくなったことを意味します。

通常はRDBMS DBAのスケジュールにはない他のどのようなタスクが必要ですか?また、RDBMS DBAが以前使用していたタスクで、MongoDB DBAのスケジュールにはもう含まれていないタスクは?

私はMongoDB管理の初心者なので、これらのタスクを特定して、日常のタスクで不要なことをしたり、必要なことを見逃したりしないようにしています。

経験豊富なMongoDB DBAが私を助けて、仕事で愚かな間違いをしないようにできますか?

7
Mechro

私は過去3年間、NoSQL分野に携わってきました。
MongoDB DBAになるには、開発チームと運用チームと緊密に連携する必要があります。以下は、MongoDB DBAとして日常のタスクとして実行する必要があることです。役割は大きく3つの部分に分類できます。

  1. 管理:

    • 新しい展開(手動/自動)
    • データベースシステムの配置設計
    • モニタリング
    • バックアップとリカバリ
    • 安全保障
    • DB Healthのベストプラクティス
  2. 開発:

    • データに対して定期的または1回実行されるコード/スクリプトを記述する必要があります。これは、レポートと分析を生成するために必要になる場合があります。
    • 開発チームによるapplication-dbの問題のデバッグ
    • アプリ側からの可用性、スケーラビリティ、セキュリティの実装
    • 必要に応じて、ステージングと本番に関するデータベースのクエリ
    • インデックス作成戦略の提案と実装
    • あなたはデータベースの設計とモデリングに関与しています
  3. 性能調整:

    • これには、ツールを使用してデータベースのパフォーマンスを継続的に測定する必要があります
    • 要件に基づいてインデックスまたはシャードデータベースを作成する
    • データベースのパフォーマンスを開発チームに報告する
7
Atish

DBAは小さな頭字語ですが、大きな役割を果たします。 DBAの面倒を見ることが何度かありました

  • ストレージ
  • 通信網
  • VM
  • 計算ノード
  • 上記のインストールと構成
  • バックアップ、および復元のテスト
  • DR戦略
  • エンタープライズデータの整合性
  • ETL
  • データセキュリティ
  • データのモデリング、正規化、データベース設計
  • データ層プログラミング
  • 性能調整
  • 運用の可用性
  • レプリケーション
  • フェイルオーバー
  • オンコールサポート

..ほかにも。 Oracle/SQL Server/PostgreSQLがMongoDB/Cassandra/CouchDBに置き換えられたからといって、これらが消えることはありません。

「ああ」とあなたは言う。「スキーマはありません。そのモデリングと設計を行う必要はありません。」

「あなたはだまされています」と私は答えます。システムが、たとえば注文処理(および注文処理ではないandチョコレートケーキのレシピand自撮りのカタログ化など)向けであり、ビジネスが注文を7桁で区別している場合整数の注文番号、および各注文は1つ以上の注文ライン(それぞれ1つの製品を参照)で構成されている場合、スキーマがあります。アプリケーションレイヤで適用され、DBMSでは適用されないからといって、それが消えることはありません。そしてsomebodyは、それらのルールを書き留め、ユーザーに確認し、テストチームに伝え、新しく採用された従業員に彼らが何であるかを教え、エンドユーザーに導入する方がよいドキュメント、および変更されたばかりのアプリケーションが古いデータを引き続き読み取ることができることを確認します。アプリケーションコードとDBMSスクリプトではなく、アプリケーションコードだけでルールを変更できるからといって、それらの重要性が低くなることはありません。

したがって、私の2セント相当の価値については、その多くの利点にもかかわらず、このクラスのソフトウェアは、RDBMSの世界でDBAが従来行っていた重要なタスクを削除するとは思えません。他の役職を持つ人々にそれらを再配布する可能性があり、タスクが実行しやすくなったり、SDLCへの侵入が少なくなったりする場合があります。

タスクの追加に関しては、ビジネスルールの理解に基づいて書かれた古いデータとの互換性を維持するという問題があります。 RDBMSでは、どの時点でも受け入れ可能なスキーマが1つしかないため、この問題は発生しません。

8
Michael Green