多くのITのバズワードは時代遅れになりますが、その理由は良く分かります。競争力のある技術のほとんどは、10年以内には優れた代替技術に取って代わられます。したがって、ソフトウェアベンダーがバズワードの有効期限を過ぎても押し続ける場合、最も単純な説明は、そのR&Dチームが世界が進んでいることに気付いていないということです。

複数のベンチャーキャピタリストからも、数年以上前に設立されたソフトウェア会社に投資することに疲れていると言われています。なぜなら、ほとんどの企業は、自社の技術をスタート時に定義した技術環境から切り離すことができないからです。

(1) テクノロジーの「有効期限」は、テクノロジーマーケット自体が定義します。特定の技術を見るとき、最善の場合でも、その技術が最新の状態に近いままでいる期間を推測することしかできません。

インメモリデータベースはかつてのITのバズワードであり、これはうまくいきませんでした。現在、インメモリコンピューティングやインメモリを提供すると宣伝しているソフトウェア会社は、時代遅れの技術を市場に押し付けているだけです。ただし、誤解しないでください。「メモリ」を最大限に活用することは、これまで以上に重要です。ただし、コンピューティングの環境は以前よりも複雑になっています。

(2) 理論的には、マーケティングチームが遅れているだけで、テクノロジーチームは既に進んでいる可能性もあります。ただし、この問題に悩んでいるソフトウェア会社には出会ったことがありません。マーケティングは常にテクノロジーよりも先行していると安全に想定できます。

90年代後半から2000年代初頭にかけて、RAMとして俗に言われる特定のタイプの揮発性メモリは、十分に手頃な価格になりました。そのため、ますます興味深く価値のあるデータセットが「インメモリ」に収まるようになりました。当時、ほとんどのソフトウェアは、RAMが非常に高価で制限されているため、RAMの圧力をできるだけ制限するために、非常に複雑なアプローチを採る価値があると考えられていました。単に新鮮で制約のないアプローチ、つまり「インメモリ」コンピューティングで、多くのソフトウェアベンダーは、回転ディスクに完全に依存していた古い製品に比べて驚異的な高速化を実現しました。

2018年になると、インメモリデータベースは時代遅れの視点であり、それは数年前からそうでした。さまざまなタイプのデータストレージがあります。

  • L1 CPUキャッシュ
  • L2/L3 CPUキャッシュ
  • ローカルRAM
  • ローカルGPU RAM
  • ローカルSSD
  • ローカルHDD
  • リモートRAM
  • リモートSSD
  • リモートHDD
  • テープまたは光学ストレージ

インテルOptaneのような新しいストレージ技術を挙げることさえありません。

「インメモリ」コンピューティングを推進するベンダーは、ソフトウェア技術が主に「ローカルRAM」と「リモートRAM」の利用に向いていることを示唆しています。RAMの最大限の活用は良いことですが、それはまた、代替手段を活用しきれていないエンジニアリングアプローチを示しています。

たとえば、過去20年間で、高性能CPUのCPUキャッシュは512KBから60MB以上に増えました。そのような大量のCPUキャッシュを使用することで、「インキャッシュコンピューティング」が可能になり、単なる「インメモリコンピューティング」に比べて大幅な高速化が実現できます。ただし、キャッシュを活用するには、多くのデータ構造の最小化やさらに賢い戦略が必要であり、RAMの観点からは必要または望ましいとは考えられていません。

ただし、CPUキャッシュがローカルRAMよりも速いことを指摘するだけでは本質を見逃してしまいます。現在では、良いソフトウェアエンジニアリングには、これらのデータストレージの各クラスの能力を最大限に活用することが含まれます。クラウドコンピューティングのおかげで、適切な組み合わせの計算リソースを組み立てることはこれまで以上に簡単になりました。

したがって、Lokadは「インメモリ」ソフトウェア技術を提供していません。なぜなら、現在利用可能な他のオプションを活用することができなくなるからです。たとえば、最大2TBのRAMを搭載したマシンを借りることもできますが、それはクライアントにとって不必要に高価になります。完全にストリーミングできるアルゴリズムは多数存在するため、データのTB単位の処理にはTB単位のRAMは必要ありません。また、1GBのRAMは1GBのHDDよりも約1000倍高価であることを考慮すると、これは実装の詳細ではありません。

私たちの目標は、ソフトウェアエンジニアリングにおける柔軟な視点に固執するのではなく、予算内で最大限の成果を上げることです。言い換えれば、代替手段よりも優れている場合にはインメモリ処理を使用する傾向にありますが、それ以上ではありません。

そのため、計算リソースは完全にオンデマンドで調整できないため(たとえば、CPUキャッシュのないマシンを現実的に借りることはできません)、Lokadでは、最初に厳密に要求されなかったリソースであっても、支払われているすべてのリソースを最大限に活用するよう努めています。