新しいキャッシュマネージャでパフォーマンスを向上させる
4D v16 は、 より良いパフォーマンスと スケーラビリティのために設計されています。プリエンプティブ・マルチスレッディングのような主要機能に加え、4D v16 64-bitは、キャッシュメモリ内のオブジェクトの処理を最適化し、断片化の問題を回避するために、全く新しいキャッシュマネージャを組み込んでいます。
新しいキャッシュマネージャは、最近のコンピュータ(64GBまたは128GBのキャッシュを搭載)の非常に大きなキャッシュの使用を改善し、低価格のRAMを利用して、大きなデータベースも完全にメモリ内に保持することができます。また、データオブジェクトをキャッシュに保持または解放する際の優先順位のサポートが強化され、メモリのアンロード量が減少するため、非常に大きなデータファイルで小さなキャッシュサイズの状況も改善されます。
4次元言語のための先制処理
4D v11以降、データベースサーバーとSQLサーバーは共にプリエンプティブなマルチスレッディングを使用します。4D v13 からは、Static モードの Web Server もプリエンプティブを使用しています。v15 R5では、4D言語もプリエンプティブ・プロセスで実行できるようになりました。
4D プリエンプティブプロセスでProコマンドを書き込む
4D v16では、新しい4D Write Proコマンドをプリエンプティブ・プロセスで使用して、データベースのスケーラビリティを向上させることができます。
例えば、請求書など、プログラムで文書を作成したり、変換するルーチンを行っている場合、ほとんどの4D Write Proコマンドがスレッドセーフになったので、プリエンプティブワーカーでそれを行うことができます!
Objectフィールドでさらに進化
v15で導入されたオブジェクトフィールドは、スキーマレスデータベース(NoSQL)に似た非構造化データベースを可能にします。4D v16は、さらに大きな一歩を踏み出しました。非構造化データのためのダイナミックな構造を手に入れる… 混乱していますか?
顧客が独自のフィールドを作成できるカスタムデータを保存できるように、オブジェクトフィールドを使用することを想像してみてください。これはうまく機能し、オブジェクトフィールドを使用する最も興味深い理由の1つです。問題は、顧客がこの非構造化データをどのようにクエリするかということです。どの’フィールド’を使用したかはわかりませんし、クエリエディタを上に構築したり、使用した値のドロップダウンを提供したりすることもできません。
選択範囲内のオブジェクト属性が一致するレコードを検索する
4D v16では、データベース内のオブジェクトフィールドの統合が強化されています。
オブジェクトフィールドのセットを既に選択している場合、4Dコマンド1つで、これらのセットを問い合わせることができるようになりました。
XML コマンドがスレッドセーフになりました
データベースのスケーラビリティを向上させ、マルチコアマシンで利用可能なすべてのパフォーマンスを使用したいと思いませんか?
4D v16では、XMLを扱うコードでプリエンプティブプロセスを使用するために、スレッドセーフコマンドのリストを拡張しました。
DISTINCT VALUE の新しいパラメータ
4D v15 R4 では、DISTINCT VALUEコマンドに新しいパラメータが導入されました。このパラメータは配列でなければならず、レコードの選択における各特異的な値のカウントを受け取ります。
この機能は、レコードの統計情報を取得したり、最も一般的なタイプでレコードを並べたりする場合に特に便利です。
REPLACE STRINGの方が速い
4D v15 R3では、コマンドのアルゴリズムが強化されました。 REPLACE STRINGコマンドのアルゴリズムが強化され、大量のデータに対する置換が高速化されました。32,000件のオカレンスを置き換えるテストでは、新しいアルゴリズムにより、コマンドは古いものに比べて平均4000倍高速になりました。