未来のデータベース: 7 つの重要な原則

未来のデータベースは単なるデータベースではありません。 代わりに、ユーザー エクスペリエンスに重点を置き、テクノロジーを抽象化するプラットフォームになります。 アプリケーション開発の進化を見ると、多大な努力により、アプリケーションの構築と展開が容易になりました。 同様に、データベースは、エンジニアが実際に使用する特徴と機能を明らかにする楽しい開発者エクスペリエンスと模範的なユーザー インターフェイスを備えた使いやすさのために進化する必要があります。

ここでは、将来のデータベースの開発を計画するために必要な 7 つの主要な機能を示します。

1.デフォルトでサーバーレス

サーバーレスは、間違いなく、過去 5 年間でソフトウェア エンジニアリングにおける最も重要なパラダイム シフトであり、最も実現されていないものです。 この時点で、サーバーレスに完全に参加している人はそれほど多くありません。 これは、サーバーを購入することから、必要なことを実行し、成長に合わせてスケーリングするサービスへの移行です。

デフォルトでのサーバーレスは、将来のデータベースを操作しやすく、一貫した信頼性を確保するための唯一の方法です。 サーバーレスは、クラウドで機能を実行することから、vCPU やノード プールについて心配する必要はなく結果に集中するペースの速い開発チームの標準になりつつあります。

最善を尽くしている企業は依然としてサーバーを展開していますが、所有するサーバーの数に関係なく、独立して拡張できる製品を活用しています。 コンポーネント ベンダーは、割り当てられるリソースの数を増やすことができ、使用した分だけ料金を支払うことができ、ソリューションのアーキテクチャはそのように拡張されます。 彼らは単一のサーバーを購入して、できる限りそれを推し進めているわけではありません。 彼らは 1 つのプラットフォームに「これが私のコードです」と伝え、別のプラットフォームに「ここに私のデータがあります」と伝えます。

サーバーレスといえば JavaScript や Lambda を思い浮かべますが、サーバーレスの PHP もあります。 JavaScript コミュニティだけではありません。 他のソフトウェア パラダイムは、これを目指しています。 いくつかの簡単なコードを作成する必要があり、できるだけ早く本番環境に出荷し、できるだけ早くスケーリングしたい場合に、これを引き出す人がますます増えるでしょう。

2.操作が簡単

DevOps における最も重要な進歩は、日々の業務を圧倒する複雑な業務から開発者を解放したことです。 今日のエンジニアリング チームは、メンテナンスやサービスではなく、製品やビジネスの目標を中心に編成されています。 しかし、データベースはまだ追いついていません。 製品チームは、過度に複雑なデータベース操作タスクを実行するために依然として専門家に依存しています。

未来のデータベースは、すべての人の DevOps ワークフローに適合する必要があります。 あらゆる開発者が使用でき、技術組織内のすべてのチームが活用できる必要があります。 データベースは誰もが操作できる必要があり、データベース管理者がバックアップやキャパシティ プランニングを管理したり、災害復旧について心配したりする必要はもうありません。

データベース ブランチ、データベース開発者環境、自動スケーリング、使用量ベースの課金など、開発者中心の機能が一般的になるでしょう。

3.信頼できる

信頼性が高いということは、単にスケーリングの限界に達するのがより困難であることを意味します。 これは、データベースが存在することを意味するだけでなく、何か問題が発生したときに適切な情報を取得し、協力してスケーリングを支援できることを意味します。

無限にスケーリングできるものはありません。 世界には、何かを無限に拡大するのに十分なコンピューターがありません。 いつでもデータベースにクエリを実行して、そこからあまりにも多くの情報をすばやく引き出すことができます。 車が何台あっても、馬力がいくらあっても、時速 100 万マイルで走ることはできません。 優れたデータベースは、小規模、中規模、大規模のいずれであっても、これらの制限に達したときに通知し、それらを乗り越えるのに役立つ必要があります。

4.相互運用可能

将来のデータベースは、スマート冷蔵庫から自動配送車まで、考えられるすべてのクライアントがアクセスできるようになります。 しかし、このクライアントに依存しないアプローチでは、現在のほとんどのデータベースが同時に管理できるよりも多くのトランザクションと接続を計画する必要があります。

将来、データベースは、スマートな接続プーリング、クエリ レプリケーション、およびインテリジェントなクエリ ルーティングを通じて、無制限の接続を処理できるようになります。 データベースは、幅広い接続とクライアントに対応する必要もあります。 Web API と新しい接続タイプを提供する多くのデータベースを既に目にしていますが、これらが大規模にテストされるにつれて、それらが採用され、次世代のアプリケーションを強化するために使用されるようになるでしょう。

5. グローバルに分散され、ローカルで利用可能

今日、ほとんどのビジネスとアプリケーションはグローバル データベースを必要としません。これにより、不必要な複雑さと運用コストが発生することがよくあります。 ただし、将来のデータベースは、最も必要な場所に配置する必要があるため、グローバルに分散する必要がある理由はたくさんあります。

これの鍵は、要件が何であるかを知ることです。 多くの人がマルチリージョンを見て、読み取り、フェイルオーバー、スケーリング、光の速さを超えると考えています。 最終的に、それはすべて一連のトレードオフです。 たとえば、ローカル レプリカから読み取る場合、非同期レプリケーションがあるため、整合性が犠牲になります。 しかし、これは実際にはグローバルなインターネットを活用して、必要に応じてより良い結果をもたらしています。

地域に保存されたデータを使用してコンプライアンスに対応することで、新しい地域に迅速にスケーリングし、ローカルで利用可能なデータを迅速に提供することで優れたユーザー エクスペリエンスを提供できます。 モバイルゲームなどの高トランザクションで低遅延のアプリケーションでは、すでにこの機能が必要です。

ただし、注意点が 1 つあります。グローバルなデータ配信は、操作が簡単であることという 2 番目の原則を破ることはできません。 ツールの主な目的は操作を難しくするのではなく、簡単にすることであるため、ツールはエレガントでわかりやすいインターフェイスを備えている必要があります。

6.スマート

将来のデータベースは人々が使用することを意図しており、どのように使用する必要があるか、どのように改善するかを人々に伝えることができます。 現在購入しているすべてのツールは、知識に基づいた推測を行うために必要なデータしか提供できません。 将来のデータベースは、それを具体的な推奨事項に置き換え、次に自己修復アクションに置き換えます。

これは、基本的なデータ収集とオブザーバビリティから始まり、「誰かが行うすべてのクエリを記録し、いくつかの意思決定エンジンと AI を使用して、自動的にシャーディングする方法を推奨しましょう」に移行します。 「過去 30 日間のデータベースの使用状況を記録しました。 これは、最適なパフォーマンスを得るためにシャードする方法です。 ボタンをクリックしてください。

将来のデータベースは次のように言うでしょう。 それを 2 つに分割するか、4 つに分割する必要があります。 私たちはあなたに代わってあなたのデータをシャーディングしました。」

7. 直線的に水平方向にスケーラブル

将来のデータベースも、将来の規模に合わせて設計する必要があります。 現在のテクノロジーの限界をテストする規模に達したのは、地球上でほんの一握りの企業だけですが、情報が増えるにつれて、より多くの企業がそこに到達するようになるでしょう。 次のデータベースは、数秒以内に垂直方向と水平方向の両方を自動的にスケーリングすることでこれを行います。 既存のデータベースの多くは、スケールアップまたはスケールアウトする前に、メンテナンス ウィンドウ、レプリケーション、およびフェールオーバーを必要とします。 しかし、ダウンタイムは容認できず、スケールのためにパフォーマンスを犠牲にするべきではありません。 そして、そうする必要はありません。 将来のデータベースは、ステータス ページにブリップすることなく、インテリジェントにスケーリングされます。

つまり、消費者は必要なときに必要なものをリスクなしで手に入れることができるべきです。 「サーバーの数が 2 倍になり、スループットが 2 倍になりました。 サーバーの数とスループットが 4 倍になりました。」 これがシャーディングが提供するものです。 優れたシャーディングは非常に大規模に自動的に行われ、使用した分だけお支払いいただきます。 将来のデータベースは、ユーザーがノブを回すことなく、これらすべてを実行します。

結論は

データベース業界全体がこれらの主要な機能に同意し、ユーザー中心のアプローチを採用し、優れた製品とサービスを顧客に提供することでエンジニアをより成功させるように設計された将来のデータベース プラットフォームを構築する必要があります。 私は、すべての企業がインフラストラクチャについて心配する必要がなくなり、ビジネスに専念できる日が来ることを想像しています。 開発チームには、開発ワークフローの制御を取り戻してもらいたいです。 データベースの使用は、コードを書くのと同じくらい簡単でなければなりません。

Leave a Comment

Your email address will not be published. Required fields are marked *