毎月のように新製品や新技術が発表され続けるデータベース分野。2000年代に入ってクラウドコンピューティングが本格的に普及し始め、スケールアウト型のアーキテクチャが広まるに伴い、従来のSQLクエリ処理とトランザクション処理に加え、分散処理が強く問われるようになった。2010年代からはこの課題を克服する、さらに多様なデータベースが登場。こうしたデータベースの近代史を解説しつつ、今後のトレンドを示唆した。
<講演者>
Bashoジャパン株式会社
シニアソフトウェアエンジニア
上西 康太 氏
クラウド普及の背景にあった
データベース技術の進化
いかなるITシステムにとってもデータ保護は重要な要件だが、モノである記憶媒体はいつか必ず壊れる宿命にある。そこで複製(レプリケーション)が必須となるわけだが、実際には容易なことではない。その難しさは、Consistency(一貫性)、Availability(可用性)、Partition Tolerance (分断耐性)の3つの要素のうち同時に2つしか満たすことができないという、いわゆるCAP定理によって示されてきた。
この課題を先人たちはどのように解決しようとしてきたのか。Bashoジャパンのシニアソフトウェアエンジニアである上西康太氏は、まずデータベースアーキテクチャの歴史から振り返った。1990年代にRDBMSが普及し、トランザクションやクエリ処理の基礎技術がほぼ確立された。レプリケーションは主に、ミドルウェアが意識しないカーネル以下でのレプリケーションが行われるようになった。
そして2000年代に入ると、アプリケーションやミドルウェアのレイヤ(TCP/IP)でのレプリケーションが一般的となった。これらはいずれも、MasterからSlave (Replica)へ差分を送る方式であった。しかし、2000年代の後半になってWebシステムの複雑化・巨大化してくると、ネットワーク分断への対処は手動をベースにした運用側の努力によって対応するには限界があり、自動化が求められるようになった。そうした中で実用化されたのがコンセンサス型のレプリケーションである。コンセンサス型のレプリケーションは、複製間の同一性を保障するCP型と、複製が完全に一致していないことを許容するAP型の大きく2つのタイプに分類されるが、いずれにおいても故障に伴うダウンタイムがないというメリットがある。「クラウドが実用化してきた背景には、こうした基盤技術の確立がありました」と上西氏は語った。
強い整合性と楽観的レプリケーションを兼ね備えた
ハイブリッド型のデータベースの動向に注目
そのクラウドが全盛期を迎え始めた2010年代に登場してきたのが、NewSQLと呼ばれるカテゴリに分類されるデータベースであり、まずOLAPのワークロードにおける分散クエリ処理で実用化された。もっとも、OLTPワークロードに適用するのは、多発するアボートをどうやって回避するのかなど、技術的に困難な課題が残っていた。
これを解決する手段として注目され始めたのが「楽観的レプリケーション」だ。「様々な制約からRDBMSには適用できないにしても、Writeをスケールさせるアプローチとしては大きな期待が持てます」と上西氏は語った。そして、この楽観的レプリケーションを実現する技術のひとつがCRDT(Conflict-Free Replicated Data Types)であり、ネットワーク分断時でも更新や読み出しを可能とする。
このような研究動向があるものの、一方で上西氏は、「ここ数年登場してきた、ACID特性を満たそうとするOLTP向けの分散データベースが今後もいくつか登場してくるでしょう」と語った。さらにその先に、「強い整合性のあるレプリケーションと、楽観的レプリケーションを組み合わせたハイブリッド型のデータベースが登場するのではないか」というのが、2010年台後半を見据えた上西氏の予想だ。その方向に進めば、OLTP向けのデータベースが更新処理の可用性と性能を目的に、楽観的レプリケーションを導入し始めると考えられる。