中年engineerの独り言 - crumbjp

LinuxとApacheの憂鬱

2021-01-01から1年間の記事一覧

MongoDBの統一トポロジー(useUnifiedTopology)について

最近のMongoDBドライバーはエラーが出る (node:8746) [MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass o…

10TBクラスのmongodb ReplicaSet 運用ナレッジ

オススメの構成 [primary] - priority = 2 [secondary] - priority = 1 : (必要なだけ) : [backup] - priority = 0 - hidden = true POINT 1. Primaryが好き勝手変動すると運用上の取り回しが悪いのでなるべく同じノードがPrimaryになるようにする 2. バッ…

ARM環境まとめ

最近のARM(aarch64)周り この1年で本番環境を全てarm64サーバーに切り替えたりDocker環境を作ったりしてarm64周りのナレッジが溜まってきた。 ハマり続けたメモ。思い出したら追記する ブチ当たった問題の情報がネットに無い場合も多く、もしかしたらarm6…

1時間超えのCIを10分以下にした話

経緯 app.wercker.com 今までwercker を使っていたのだが、数年前は良いサービスだったのにOracleなんかに買われたせいで最近はインスタンスが目に見えて遅かったり、不安定だったりやってられないので、引っ越しを検討していた。 比較したサービス wercker …

Faiss解説シリーズ(第三回)パフォーマンス

crumbjp.hateblo.jp インデックス毎の性能と精度のバランスを取る上で考慮すべき要素 メモリー使用量 Faissインデックスは基本的にオンメモリー上で処理を行う。 すべてのデータが何らかの形でメモリー上に展開できなければならない。 これが最優先事項 Flat…

Faiss解説シリーズ(第二回)ハマりポイント集

crumbjp.hateblo.jp Faissインデックス毎の制限について サンプルコード FlatインデックスはID管理出来ない func AddWithIDsDontWorkOnFlatIndex() { fmt.Println("*** AddWithIDsDontWorkOnFlatIndex ") index, _ := faiss.IndexFactory(2, "Flat", faiss.M…

Faiss解説シリーズ(第一回)基本編

最近、根詰めて触っているので詳しくなって来たついでに解説記事を書いてみた Faissとは Facebookが開発しているC++NNS(Nearest neighbor search)エンジン 手に入るライブラリの中では最高峰の速度 高次元ベクトルで問題になりがちなメモリー問題に対応でき…

Faissでベクトル検索するDBを開発した

広告プラットフォームcraft に投入 24000次元のSCDVベクトルを数百万件入れてインデクシングしています。 PQ圧縮しているのでメモリー負担は殆ど無く小さなサーバーで運用できています(トレーニングの時だけメモリーが大変) 順次利用範囲を広げていく予定…

SCDVが出来るまで

SCDVとは? 数多ある文章を評価する手法の中で速くて安くて旨いと噂されているもの 趣旨 実験的な実装やその結果は色々手に入るが実際にある程度の規模のサービスに使うとなると、どんな苦労があるのかを紹介しようと思う。 コードレベルの詳細な解説は他所…