CSVファイルは検索が速いって聞きました
ではなぜソートが遅いのでしょうか?
探検
10GBのCSVファイルのソートが遅いのはなぜですか?
2023/06/12(月) 21:20:45.91ID:F1HJC183
2デフォルトの名無しさん
2023/06/13(火) 08:52:56.97ID:JBnp9ago べ、べつに遅くないし!
2023/06/13(火) 09:49:32.67ID:Xu7LyXF8
4デフォルトの名無しさん
2023/06/13(火) 09:53:59.11ID:meEyuUg2 マジレスしとくと
スレタイの "10GB" と >>1 の質問が無関係だな
スレタイの "10GB" と >>1 の質問が無関係だな
2023/06/13(火) 13:36:34.95ID:4HUnX0Fj
さっき霊魂を見たんですが、どうしたらいいですか
2023/06/13(火) 16:18:52.30ID:u7AmJNUj
「…見なかったことにしといてやる!」と宣言すればおけ
2023/06/13(火) 19:37:20.82ID:ixSRP7mF
よかろう、ならばビットマップファイルだ
2023/06/22(木) 06:41:18.88ID:k/qBouFf
9デフォルトの名無しさん
2023/06/29(木) 13:51:47.41ID:IO1TL2jD 10GBだから
10デフォルトの名無しさん
2023/06/30(金) 03:16:09.95ID:KO9roK1Y 昭∞!!!!
大∞!!!!!
昇∞!!!!!!
漠∞!!!!!!!
大∞!!!!!
昇∞!!!!!!
漠∞!!!!!!!
11デフォルトの名無しさん
2023/08/09(水) 07:21:27.86ID:Bb1AJAu+12デフォルトの名無しさん
2023/08/09(水) 07:46:15.85ID:Aj0Whal0 >>11
じゃあ君は速いとでも?w
じゃあ君は速いとでも?w
13デフォルトの名無しさん
2023/08/09(水) 07:47:25.44ID:Aj0Whal0 CSVのソートが遅いのは社会的共同体の中で自然に共有されうる普遍的事実である
2023/08/09(水) 10:35:23.16ID:ZMTba8c6
まぁRDBMS使った方がいいわな
15デフォルトの名無しさん
2023/08/09(水) 11:06:02.05ID:qEKEd4/l 何をつかっても遅いものは遅いw
2023/08/09(水) 15:27:00.04ID:a25ApkGr
実装次第で遅くなりそうなケースだな
フレームワークとコピペだけで戦ってきたやつには荷が重いだろう
フレームワークとコピペだけで戦ってきたやつには荷が重いだろう
2023/08/09(水) 16:22:02.52ID:coMLMuQp
jsonやmessagepackよりは速いかも知れないな
18デフォルトの名無しさん
2023/08/10(木) 00:02:20.56ID:gjwqjVE1 10GBはファイルの大きさであって、データの件数ではないんだよな
2023/08/10(木) 01:18:52.99ID:qMn8aig+
10GB のデータをソートするには、
並べ替えた途中経過のデータも持っておく必要があるから、
100GBぐらいのメモリが必要なのでは?
メモリが少ないと、途中経過のデータをハードディスクに保存して、
メモリを空けないといけない。スワップ
並べ替えた途中経過のデータも持っておく必要があるから、
100GBぐらいのメモリが必要なのでは?
メモリが少ないと、途中経過のデータをハードディスクに保存して、
メモリを空けないといけない。スワップ
20デフォルトの名無しさん
2023/08/10(木) 01:20:23.88ID:lIBN6+0k >>18
レコード数を3とする、ソートせよ
レコード数を3とする、ソートせよ
21デフォルトの名無しさん
2023/08/10(木) 02:07:49.13ID:ljCEt4I+ ソートのキーだけでいい
2023/08/10(木) 10:55:32.60ID:AypbHuiV
メモリーに乗りそうな大きさに分割してソートして
それをマージソートするのが一番早いんじゃね?
それをマージソートするのが一番早いんじゃね?
23デフォルトの名無しさん
2023/08/10(木) 11:29:41.03ID:YYBOmFjO >>20
レコード数が1でソートの必要がないかも知れない。
レコード数が1でソートの必要がないかも知れない。
24デフォルトの名無しさん
2023/08/10(木) 11:33:16.87ID:YYBOmFjO >>1
検索早くないのでは?要するにただのテキストの塊なので grep コマンドとか使って検索できるってだけのことで、その状態ではインデックスなしの全検索だから遅くなると思う。
検索早くないのでは?要するにただのテキストの塊なので grep コマンドとか使って検索できるってだけのことで、その状態ではインデックスなしの全検索だから遅くなると思う。
25デフォルトの名無しさん
2023/08/10(木) 20:54:16.43ID:TWiH3Zx3 10GBのファイルを書き換えながらソートしているのかな?
2023/08/13(日) 12:14:40.57ID:mxfdwtiA
Diskのデフラグ並みだな
2023/08/16(水) 10:29:29.77ID:g5j2pEtW
ゲッ!!(/||| ̄▽)y-ξ⌒◇ヾ( ̄  ̄;)ジュッ
2023/08/27(日) 20:18:09.89ID:m39XqcII
( Д ) ゚ ゚
2023/09/01(金) 20:23:04.85ID:MSzaVfqT
どないやねん、意味がわからん
30デフォルトの名無しさん
2023/09/12(火) 12:29:39.47ID:QOX8wfhQ 何行何列か示せと
31デフォルトの名無しさん
2023/09/12(火) 12:38:34.37ID:A3YXlMvb >>30
1億行、125列
1億行、125列
2023/09/12(火) 12:46:05.28ID:DJD1APYm
こんな頭の悪いスレ上げるのはなぜですか?
33デフォルトの名無しさん
2023/09/12(火) 14:42:44.77ID:A3YXlMvb なぜ下げるんだい?
2023/09/12(火) 14:59:33.38ID:BQ9Iu4K/
なんで10GBもあるデータをCSVで管理しようと思ったんだろうな
35デフォルトの名無しさん
2023/09/12(火) 17:11:08.62ID:zmLL4dpk 10GBもあるデータをCSVにしようとした訳ではなく
何も考えずにCSVで管理してたらいつの間にか10GBになったんだろう
何も考えずにCSVで管理してたらいつの間にか10GBになったんだろう
2023/09/12(火) 18:09:26.28ID:BQ9Iu4K/
そっかw
37デフォルトの名無しさん
2023/09/14(木) 15:11:27.86ID:Ur1UGoF938デフォルトの名無しさん
2023/09/15(金) 19:50:24.13ID:V4ggyvBY 巨大なデータをSQLiteで処理するためのメモ
https://fanぶろぐs.jp/scripts/archive/11/0
https://fanぶろぐs.jp/scripts/archive/11/0
2023/09/15(金) 20:30:51.52ID:mLRMgWkC
やさいい
2023/09/27(水) 20:16:21.16ID:PKUrAitV
まず各ブロック当たり1000行とかに分ける。ブロック単位でソートする。
1.ブロックA/B を連結してAB間でソート。 B=全体の数/2
2.ブロックA+1, B+1 で連結してソート
3. ブロックA+全体の数/2- 1(前半最後まで)、ブロックB+前半最後までを連結してソート
4.今度は全体の前半で1-3 風にブロックソート。後半〜最後までで1-3 風にブロックソート
5. 前半〜前半+3/4 でブロックソート、前半+2/4〜前半+4/4 でブロックソート、
......
・・・・
ってのを大昔 BASIC で作ったのですが、なぜかデータがゼロに
なってしまうバグが出て作るのを止めてしまいました。ちゃんちゃん。駄目じゃん俺。
1.ブロックA/B を連結してAB間でソート。 B=全体の数/2
2.ブロックA+1, B+1 で連結してソート
3. ブロックA+全体の数/2- 1(前半最後まで)、ブロックB+前半最後までを連結してソート
4.今度は全体の前半で1-3 風にブロックソート。後半〜最後までで1-3 風にブロックソート
5. 前半〜前半+3/4 でブロックソート、前半+2/4〜前半+4/4 でブロックソート、
......
・・・・
ってのを大昔 BASIC で作ったのですが、なぜかデータがゼロに
なってしまうバグが出て作るのを止めてしまいました。ちゃんちゃん。駄目じゃん俺。
41デフォルトの名無しさん
2023/10/04(水) 21:29:03.45ID:ja1//dn8 だいたいデータの入れ替えに時間が掛かるんだよな
メディアがHDDとかだと尚更
普通はインデックスで実データを間接参照させるんだが
まあ、やって無いんだろうなぁ
メディアがHDDとかだと尚更
普通はインデックスで実データを間接参照させるんだが
まあ、やって無いんだろうなぁ
42デフォルトの名無しさん
2023/10/05(木) 11:43:25.54ID:AvBTKCCq 速度を優先するなら固定長CSVの採用をオススメする
各行へのランダムシークが出来るし並び替えに必要な行の入れ替えも可能になる
最近のutf-8などを使いたい場合は文字数での管理が難しくなるがあくまでもストレージ上でのサイズを基準にして
クラスタサイズも考慮し列サイズを決めていこう
検索性能を上げるには外部インデックスを作るしかないだろう
ファイルサイズは100倍ぐらいに増えるかもしれないが単純なファイルキャッシュだけで下手なDBでは敵わない速度が出せるだろう
各行へのランダムシークが出来るし並び替えに必要な行の入れ替えも可能になる
最近のutf-8などを使いたい場合は文字数での管理が難しくなるがあくまでもストレージ上でのサイズを基準にして
クラスタサイズも考慮し列サイズを決めていこう
検索性能を上げるには外部インデックスを作るしかないだろう
ファイルサイズは100倍ぐらいに増えるかもしれないが単純なファイルキャッシュだけで下手なDBでは敵わない速度が出せるだろう
2023/10/08(日) 19:41:45.47ID:Unktq8Si
>>31
125列のレコードが1億行あったらカンマだけで10GB超えるんだが
125列のレコードが1億行あったらカンマだけで10GB超えるんだが
2023/10/12(木) 21:43:44.24ID:5lP2cmIF
ひとつが100MBくらいのファイルになるように
ディレクトリ構造でB木をつくって(アンバランスでもOK)
個々にソートしたものを最後に結合
ディレクトリ構造でB木をつくって(アンバランスでもOK)
個々にソートしたものを最後に結合
2024/11/08(金) 00:13:58.03ID:0/QV09gu
csvだから遅いとかはない、デシリアライズして云々するよりそのままテキスト(あるいはその部分文字列、フィールド)として比較するならむしろ有利
単にサイズの問題、メモリより十分小さいサイズに分割(今どきなら数GBなんで100MBあたり)して個別にソート、マージ
むしろテキストにシリアライズされたデータにおいて、最も実用的な類のフォーマットに入る
単にサイズの問題、メモリより十分小さいサイズに分割(今どきなら数GBなんで100MBあたり)して個別にソート、マージ
むしろテキストにシリアライズされたデータにおいて、最も実用的な類のフォーマットに入る
46デフォルトの名無しさん
2025/05/10(土) 00:23:13.60ID:Fj2J3+nY とすと
2025/05/10(土) 14:35:35.59ID:7IHH6CUB
クソスレかとおもったら想像以上に真面目に考察してるスレだったw
2025/05/10(土) 20:02:05.08ID:ij0zz7My
マジレスはあるかもしれんが別に真面目な考察はないだろ
実は良スレだったんだと雰囲気で既成事実にするな
実は良スレだったんだと雰囲気で既成事実にするな
2025/05/12(月) 11:20:32.62ID:Zw0HuL6G
DBをエクスポートしたら数GB出てきたとか普通だけど
レスを投稿する
ニュース
- 中国国営メディア「沖縄は日本ではない」… [BFU★]
- NY円、一時1ユーロ=180円台まで下落…1999年のユーロ導入以来初 [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★3 [1ゲットロボ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 「稼ぐのよ!」高市総理が電話ガチャ切りで伝えたこと 鈴木憲和農林水産大臣が国政報告会に出席 自身が目指す農政の方針語る [煮卵★]
- 俳優 高岡蒼佑「エジプト出身とかナイジェリア出身とかの人が、日本の代表顔して移民の事とか話してるの見るとなんか違う気がする」★2 [Anonymous★]
- 『しんちゃんと岸田さん』 [175344491]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
- 中国発日本行の航空券、491,000件(全体の32%)がキャンセルされたと判明。高市どうすんのこれ [603416639]
- 識者「『フリーパレスチナ』とかイキってる連中が台湾の話になると『中国を怒らせるな!』ってなる。ほんと左翼の正義って薄っぺらい」 [279254606]
- 日本株、大暴落!!! [252835186]
- 【高市デイリー】 久しぶりにヤマザキデイリー行ったら 店内焼き立てパンの値段がバカ高くてワロタ。 晋さん、もう買えないよ…… [485983549]
