モノリシック アプリケーションをマイクロサービスに分割しようとしている人にとって、データベースを分割するという難問にどのように対処していますか。私が取り組んできた典型的なアプリケーションは、パフォーマンスと単純さの理由から多くのデータベース統合を行っています。
論理的に異なる 2 つのテーブル (場合によっては境界付けられたコンテキスト) があるが、そのデータの大量の集計処理を頻繁に行う場合、モノリスではオブジェクト指向を避け、代わりにデータベースの標準を使用する可能性が高くなります。 JOIN 機能を使用して、集計されたビューをアプリ層に戻す前にデータベース上のデータを処理します。
データベースではなくAPIを介してデータを「結合」する必要があると思われるマイクロサービスにそのようなデータを分割することをどのように正当化しますか。
私は Sam Newman の Microservices book を読みました。モノリスの分割に関する章で、彼は「Breaking Foreign Key Relationships」の例を挙げており、API を介した結合を行うと遅くなることを認めていますが、とにかくあなたのアプリケーションは十分に高速ですが、以前よりも遅くても問題はありませんか?
これは少しばかげているようですか?人々の経験とは?API 結合を適切に実行するために使用した手法は何ですか?