Realm Blog

リアルタイムな同期とスケーラビリティ: Realm Mobile Platform 1.0

本日、Realm Mobile Platform 1.0をリリースし、小規模なアプリから大規模なサービスまで、安定して商用でお使いいただけるようになりました。この数か月間、私たちは機能追加だけでなく、不具合の修正や、細部の改善に至るまで、努力を続けてきました。ついに1.0のバージョンに達したことは私たちにとって非常に大きな到達点だと考えています。そして現在Realmをお使いの方やコミュニティの方々に、これまで支えてくださったことを深く感謝します。ベータ版の間にいただいたフィードバックは本当に改善の手助けになりました。

Realm Mobile Platformはリアルタイムの共同編集や、チャット、安定したオフラインファーストのユーザー体験、など非常に複雑で難解とされている機能を持つアプリケーションの開発を容易にします。Realm Mobile Platformは非常に多くのシェアを持つiOSとアンドロイドのクライアントデータベースと、サーバーサイドの連携を担当するRealm Object Serverを統合します。そのことによって、自動的なリアルタイムのデータ同期を実現します。ネットワーク通信や、データ同期のコードは不要になります。Realmが代わりにデータ同期を提供します。デバイス上のデータは常にサーバーサイドのデータと同期するようになります。サーバーサイドの処理も簡単に書くことができます。サーバーサイドのデータ変更をトリガーにすることができるので、既存のシステムやAPIと連携することも簡単です。

今回のリリースより、Realm Mobile Platformのすべてのエディションにおいて、プロダクトの開発に利用できます。とても楽しいデモのコードを提供していますので、今すぐ試すことができます。お絵描きアプリのデモや無料のDeveloper EditionのMac版またはLinux版をダウンロードしてすぐに試すことができます。

3つの新機能

このリリースにはEnterprise Editionにおいて、3つの新機能が含まれています。

Data Integration API

新しいData Integration APIを使うと、Realm Mobile Platformとあらゆるデータソースが容易に連携できるようになります。既存のサービスやデータベースに接続し、リアルタイムな機能を持つアプリケーションを簡単に作ることができます。ベータ版をお使いのほとんどの方が、この新機能をレガシーシステムを「モバイル化」しようとする際に、この新機能を強力に活用されています。Realmをリアルタイム機能のブリッジとして利用することで、既存の古いシステムに接続するAndroid、iOSアプリをモダンに、リアクティブに作り変えることが容易に可能になります。=

例えば、リテール事業者がまったく新しいショッピング体験のサービスをリリースしようとしています。しかし、その新しいアプリは、既存の決済システムをこれまでと同様に利用する必要があります。このとき、Realmの新しいData Integration APIを用いて、Realm Object Serverを既存のデータベースに接続し、Realm Object Serverと決済システムのデータベースを同期して同じデータが参照できるようにします。どこからアクセスしても同じデータが保証されるように、不安定な接続を排除し、中断してしまったトランザクションは自動的に再実行するように設計されています。この保証があるので、Realm Object Serverはクライアントサイドのデータベースと決済システムのデータベースのミドルウェアとして動作することになります。これまでのシステムやデータベースの資産をRealmを用いた新しいシステムに効果的に活かすことができるのです。

Data Integration APIでは独自のコネクターをカスタムすることも容易です。標準で用意されているコネクターとしてPostgreSQLに接続するコネクターがあります。Oracle、MongoDB、Hadoop、SAP HANA、Redisといった他のデータベースに接続するコネクターも現在開発中です。まもなく標準の組み込みコネクターとして利用できるようになります。

水平スケーラビリティ

Realm Mobile Platformは動作しているハードウェアの制約の中において、非常に堅牢に安定して動作します。単体のRealm Object Serverは10,000ユーザー以上の同時接続数を扱えます。さらにサービスの急成長に備えて、水平スケーリングをEnterprise Editionに追加しました。自動的にコネクションを分散させるロードバランサーも含まれます。このことにより、複数のRealm Object Serverインスタンスを並列化して動作させることができます。100万ユーザー以上の同時接続数を扱うサービスであっても問題ありません。

継続的バックアップ

継続的バックアップはRealm Object Serverのデータをセカンダリサーバーに自動的にバックアップします。停電やハードウェアの故障、自然災害といった障害の発生時においても、セカンダリサーバーを用いてサービスを継続することができます。セカンダリサーバーをどこに配置するかは自由に選ぶことができます。ディザスタリカバリ耐性を高めるために異なるリージョンを選ぶこともできます。

Enterprise Editionの新機能

Realmを使うための準備、お絵描きデモアプリ

Realm Mobile Platformを使うための最初のステップは、ローカルマシンかクラウドサービスを利用するかを選ぶことです。イベントハンドリングなどのPro Editionの機能に特に関心がない限りは、Developer Editionをまず使ってみることをお勧めします。強力な機能を無料で利用できます。利用期限もありません。商用のアプリやサービスにも自由に使うことができます(詳しくはライセンス規約をご覧ください)。インストール方法の詳細や実行の仕方についてはドキュメントに記載しています。

Realmをインストールしたなら、もうサンプルコードを動かす準備は整っています。お絵描きアプリはホワイトボードを共同編集できるアプリです。複数のユーザー間でリアルタイムなデータ同期をRealmで扱うという機能をご覧いただけます。このデモは完全にオープンソースとしてGitHubにて他のデモとともに公開されています。次のビデオは2台のiPad間でリアルタイムにデータが同期される様子を収めています。またネットワーク通信が一時的に圏外になっても自動的に復帰するところに注目してください。

さらに詳しく知るには

さらに詳しくRealm Mobile Platformついて興味があったり、質問をしたい時には、プロダクトチームによるライブ講義を1月31日の深夜に開催します。ぜひこちらから登録してご視聴ください。


Realm Team

At Realm, our mission is to help developers build better apps faster. We provide a unique set of tools and platform technologies designed to make it easy for developers to build apps with sophisticated, powerful features — things like realtime collaboration, augmented reality, live data synchronization, offline experiences, messaging, and more.

Everything we build is developed with an eye toward enabling developers for what we believe the mobile internet evolves into — an open network of billions of users and trillions of devices, and realtime interactivity across them all.

記事の更新情報を受け取る