拡張機能研究所

Introducing recommended browser extensions in manga format!

2025/08/25 08:00

SurrealDBのベンチマーク、実はデータの安全をちょっと犠牲にしてるって知ってた?

SurrealDBが高速な性能を見せる裏で、データの安全性(耐久性)に妥協している問題についてわかりやすく解説します。 パフォーマンスだけじゃ見えない落とし穴に注意しよう!
SurrealDBのベンチマーク、実はデータの安全をちょっと犠牲にしてるって知ってた?

なんとなく速いデータベースっていいよね?って思うけど、SurrealDBの場合、速さのために大事な「データの安全」をちょっと我慢してるらしいんだよね🤔✨

この話、ちょっとビックリだったからシェアしたい💡

SurrealDBって何?

ざっくり言うと、SurrealDBは新しいタイプのデータベースで、「速さ」と「使いやすさ」を売りにしてるんだ。
使ってみた人は「めっちゃ速い!」って言うけど、その速さがどこから来てるかをちゃんと知るのは大事だよね🌸

ベンチマークって何?

ベンチマークっていうのは、簡単に言うと「どれくらい速いかテストすること」だよね。
SurrealDBはこのベンチマークでいい数字を出して、「うちが速いよ!」ってアピールしてるわけ✨

でも、ここで問題なのが、

その速さを出すために「データの安全(耐久性)」を犠牲にしている可能性があるってこと

💭つまり、急いで結果を出すあまり、大事なデータが消えたり壊れたりするリスクを増やしてるかも…って話なんだよね。

データ耐久性って?

データベースにとって「耐久性」は超重要。
例えば、パソコンが急に落ちたり電源切れたりしても、保存したデータがちゃんと残ってること。これがあるから安心して使えるんだよね🥺

SurrealDBは、テストで速く動くために、この「ちゃんと保存する」仕組みをゆるくしてるらしい…😳

じゃあ、どういうこと?

ブログ記事(https://blog.cf8.gg/surrealdbs-ch/)によると、SurrealDBはデータをディスクにすぐ書き込まない設定でテストをしてるみたい。
これだと、確かに速くなるけど、急に止まったときにデータが消えちゃう危険があるんだって!

普通の信頼できるデータベースは、こういう時でもデータ失わないように工夫してるから、単純に速さだけで比べるとちょっとズルい感じもするよね😅

まとめ

  • SurrealDBはめっちゃ速いけど、
  • 速さの裏で「データを失うかも」ってリスクを抱えてる場合がある
  • ベンチマーク結果だけ鵜呑みにすると、思わぬトラブルになるかも

ベンチマークの数字を見るときは「何を犠牲にしてるか?」もちゃんと考えるのが大事なんだなぁ…って思ったよ!💭✨

新しいものはワクワクするけど、ちゃんと中身も見てから使いたいよね😆🎀

Show animated messageON
ちょっとビックリだよね😳❣️

Comments

Ataror of Brooklynn

ハンナ

Redditをやめたくないなら、SurrealDBでRocksDBやSurrealKV使うなら必ず環境変数でSURREAL_SYNC_DATA=trueにしないとヤバいよ。

Ataror of Aidan

エイダン

何度見ても笑える。

Ataror of George

ジョージ

SurrealDB開発者の返信はこちら。

Ataror of Valentina

ベン

でもこれって*webscale*じゃん!

Ataror of Sara

サラ

ほぼ現実離れしてるね。

Ataror of Luis

リリー

MongoDBのバージョン2みたいなもの?

Ataror of Robert

ロバート

こんにちは、SurrealDBの創設者です👋 いくつか説明させてください:デフォルトでSURREAL_SYNC_DATAはオフで、これは性能のためで他DBと整合性を取るためです。 WALを使ってるのでクラッシュしてもデータベースが壊れることはありません。 SurrealKVはまだ開発中で、unsafeもごく一部だけ使ってます。 今後ドキュメント改善して設定も見直します。

Ataror of Christian

クリス

データベースのベンチマークは便利だけど誤魔化しも生むから注意が必要で、安全性と性能のバランスを取ることが大事だよね。

Ataror of Brooklynn

ハンナ

コードにちょっと変なunsafeの使い方と、役に立たないコメントが多いのが気になる。

Ataror of Nolan

ノーラン

boolean値の判定にわざわざmatch使うのは無駄じゃない? 普通にif/elseでいいのに。

Ataror of Leo

レオ

記事ありがとう、fsync問題は知らなかったからメーリングリストを数時間読み漁っちゃったよ。

Ataror of Aiden

エマ

それはまさにシュールだね。

Ataror of Sadie

サム

なんでこんな変な名前つけたんだろう?

Ataror of Kingston

グレース

これってmongodbのフォーク?


PICKUP
Related Articles