タグ

mongodbに関するshoのブックマーク (34)

  • tDiaryのMongoDB IOをチューニング - ただのにっき(2020-11-22)

    ■ tDiaryのMongoDB IOをチューニング 昨日の試合に勝てば川崎フロンターレの自力優勝が決まっていたはずなのに大分に負けてしまい、翌日の今日、2位のG大阪が勝たなければ他力優勝……という流れだったのに相手の浦和がホームで負けてしまったのでそれもなくなり、とうとう来週の直接対決に持ち越しとなった。 という日記を書こうとしたらまたMongoDBがタイムアウトするようになってしまった。前回の移転からまた1週間程度ってことでAtlas側で何らかのチューニングが入っているのでは疑惑がさらに高まっているわけだが、ここでクダを巻いていてもしょうがない。重いクエリをなんとかしよう。 初手のカレンダー生成が重いのは間違いないから、そこをマシにするしかない。MongoDBはgroup_byみたいなこともできたはず……と思って雑に勉強して付け焼刃でパッチを書いた。現在この日記にだけ適用中だけど、カレ

  • MongoDB AtlasのDBを分割、移動した - ただのにっき(2020-11-15)

    ■ MongoDB AtlasのDBを分割、移動した 先日DBを引っ越したこの日記でTimeoutエラーが出るようになって、という話をTwitterでつぶやいたら先に移行したMatz日記でも同じという証言があって、Atlasの信頼性かなり低いのでは? みたいな疑惑が出たので少し調べてみた。 といってもプランは無償のM0だし、想定用途的にはSandboxだから文句を言う筋合いではない。フリーミアムに乗っかっておこぼれを頂戴している立場である。たぶんちゃんとお金を出せばまともな性能を期待できるはずです。M0の次のプランM1は趣味の個人サイトで使うにはすでに高すぎるんだけどさ。 Herokuのコンソールに入ってDBを叩いてみると、特定の日付の日記を直接クエリするならすぐに返ってくる。一方、日記全体を舐めるようなクエリ(tDiaryではカレンダーを表示するためにこれをやる)だ数分は戻ってこない。一

  • MongoDBを(ようやく)mLabからAtlasへ移行 - ただのにっき(2020-11-08)

    ■ MongoDBを(ようやく)mLabからAtlasへ移行 Heroku上で長らくMongoDBのadd-onを提供してくれていたmLabがサービスをやめるという案内が来たのはもう何ヵ月も前だったと思うが、転職活動中ということもあってなかなか手をつけられなくて、そうこうするうちにサ終まであと3日なんてことになってしまった。なんで年休消化中にやらなかったんだ、おれ。 移行先はMongoDB社じきじきに提供しているサービスAtlas。もはやこんな時期なので移転Howto的な記事を書くのは意味ないし(ググればいくらでも出てきます)、ちゃんと移転したぞ、という記録としての意義しかないね。 mLab社はMongoDBに買収されたんだから、もうちょっと楽な移行手段は用意できなかったんかい! とツッコミたくなるほど手間がかかる。考えてみればDB移行なんてどんなサービスでも一大事業なんだから、それを10

  • クラウドベンダなどによるサービス利用を制限したMongoDBの新ライセンス「SSPL」を理由にDebian、Fedora、RHELがMongoDBの配布取りやめを表明 - Publickey

    クラウドベンダなどによるサービス利用を制限したMongoDBの新ライセンス「SSPL」を理由にDebian、Fedora、RHELがMongoDBの配布取りやめを表明 MongoDBAWSなど大手クラウドベンダによるサービス化に反発し、商用サービス化を制限する新ライセンスに変更したことは以前の記事で紹介しました。 参考:Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発 新ライセンスはAGPLをベースにMongoDBが独自に作成したもので、「Server Side Public License」(以下、SSPL)と呼ばれています。 SSPLではサービス提供元もソースコード公開を義務化 SSPLでは、MongoDBをサービスとして提供する場合、サービス提供元が独自に変更した部分を含めて

    クラウドベンダなどによるサービス利用を制限したMongoDBの新ライセンス「SSPL」を理由にDebian、Fedora、RHELがMongoDBの配布取りやめを表明 - Publickey
    sho
    sho 2019/01/28
    OSD準拠かどうか検討中だし、ちょっと様子見かなー。AGPLで十分目的を達成できるのによけいな手を入れるの、なんか子供っぽい。
  • [速報] MongoDB 互換のマネージドデータベース!Amazon DocumentDB が登場しました | DevelopersIO

    こんにちは、菊池です。 個人的には待ちに待ったサービスです!AWSに新しいマネージドデータベースサービスである、Amazon DocumentDB(with MongoDB Compatibility)が登場しました。 New – Amazon DocumentDB (with MongoDB Compatibility): Fast, Scalable, and Highly Available Amazon DocumentDB Amazon DocumentDBは、MongoDBと同様にBSONフォーマット対応したドキュメント指向のデータベースです。 特徴 スケーラビリティ ストレージは最小10GBから、最大で64TBまで自動で拡張します。15.25 GBから488GBまでのメモリをもつインスタンスから選択可能で、最大で15台のリードレプリカ(合計16台)を構成できます。 信頼性 デ

    [速報] MongoDB 互換のマネージドデータベース!Amazon DocumentDB が登場しました | DevelopersIO
  • massrを(ようやく)mongoidに移行させた - ただのにっき(2017-07-27)

    ■ massrを(ようやく)mongoidに移行させた MongoDBアクセスのドライバをmongo_mapperからmongoidに移行していると書いたのはもう半年近く前だったのに、最後の大物(というほど大物ではないけど余暇にいじるには十分複雑な)massrだけは着手しただけで放置していた。あまり単純な置き換えでは移行できなかったので、途中でめんどくさくなっていたのだ。 そうこうしているうちに、Heroku上で使っているmLabがMongoDBを3.2から3.4にあげるという通知をしてきて、それくらいのバージョン違いなら問題ないだろうと思っていたのに、試してみたらこんどこそmongo_mapperが動かないことが判明して、慌ててmassrの件のブランチを復活させて対応した。なんとか全機能を移行できたかなー。 「最初からmongoidを使っていれば……」と後知恵で悔やんでも、採用当時はどっ

  • mongo_mapperからmongoidへ乗り換え中 - ただのにっき(2017-02-16)

    ■ mongo_mapperからmongoidへ乗り換え中 自作のちょっとしたWebアプリはHerokuで動かすのが前提なので、ストレージにはMongoLabが提供しているMongoDBのプラグインを使うことがほとんどなのだけど、初期のころはドライバにmongo_mapper gemを使っていた。ものは悪くないんだけど、最新のRubyやMongoDBへの対応が遅いというか、最近は作者の反応も鈍くなってしまって、どうもやる気がなさそう。 最近作ったものはmongoid gemの方を使っていてそっちは最新の環境への追従も早いので、mongo_mapperを使っているアプリもmongoidへ乗り換えることにした。両者の違いはけっこうあるんだけど、置き換え自体はほぼ一対一なのであんまり悩むことはない感じ。modelのテストがちゃんとあれば、ほぼ確実に移行できる。 問題は、mongo_mapperを

  • HerokuのMongoLabアドオンが設定する環境変数名がいきなり変わった - ただのにっき(2016-04-12)

    HerokuのMongoLabアドオンが設定する環境変数名がいきなり変わった GitHub上に置いてある自作のrubyプロダクトは、依存Gemの更新をTachikoma.ioを使って定期的にウォッチしていて、Tachikomaが送ってくるプルリクをHeroku上のPipelineに放り込んで、問題なければmasterにマージ……という流れで開発してる。基的にこれだけならWebブラウザだけで完結してしまうので、ほんと楽。 で、今日もTachikomaがせっせと送ってきたプルリクを処理していたら、Heroku上で生成されたReview Appが実行に失敗してる。ログをみてみるとMongoDBが見つからないとか言ってるので、調べてみると従来使われていた環境変数MONGOLAB_URIではなくMONGODB_URIが設定されてるではないか。えー、なにこれ。 ちなみにMongoLab社は今年に

  • MongoLabの大規模アップデートでいろいろ大変だった - ただのにっき(2015-10-01)

    ■ MongoLabの大規模アップデートでいろいろ大変だった 朝からHeroku上のサービス監視に使っているLogentriesから頻繁にメールが届くようになって、どうもデータベースに接続できてない系っぽい。そういえばMongoLabがfreeプランのMongoDBを3.0に上げるって予告してたの今日だったっけ。でも、普段から開発は3.0でやってるから、動作は問題ないはずなのになぁ……と訝りつつ該当記事をもういちど読んでみたら: Moped (used by Mongoid 4 and below), is not compatible with MongoDB version 3.0 because it does not support SCRAM-SHA-1 authentication. If you’re using Mongoid, you must upgrade to Mo

  • データベース「MongoDB」の管理ツール「phpMoAdmin」に存在するゼロデイ脆弱性の解析 |

    PHP MongoDB administration tool(phpMoAdmin)」は、オープンソースのドキュメント指向データベース「MongoDB」をグラフィカルユーザインタフェース(GUI)で操作できる無料の管理ツールです。phpMoAdmin は 、NoSQL のデータベース「MongoDB」を管理する人気のツールで、PHP言語で記述されています。 2015年3月上旬、リモートでコードが実行されるゼロデイ脆弱性が、「phpMoAdmin」で確認されました。この脆弱性を利用することにより、攻撃者は、認証なしに任意のコードを実行することができます。これは、コマンドインジェクションの脆弱性で、通常は、Webアプリケーションがユーザの入力に基づいて特定のオペレーティングシステム(OS)のコマンドを実行する際に発生するものです。 ■脆弱性の解析 この脆弱性は、「moadmin.php」と

    sho
    sho 2015/03/11
    これはなかなか……
  • 45歳以上はMongoDBを使ったシステムが使えなくなる件 - Qiita

    MongoDBを使うシステムが、最近多いと思います。 2.6系(安定版)の最新2.6.7ですが、Date型のインポート処理にバグがありそうです。 「1970/01/01」以前の Date型 を mongoexport すると、負の "$numberLong" として出力されるのですが、それを mongoimport すると、それ以降のフィールドが欠落してしまうのです。 例えば、ユーザマスタに「誕生日」フィールドがあると、45歳以上の人は「1970/01/01」以前の値が入っているわけで、マスタデータを移行したりでもすると、その人のフィールドがガッツリ無くなってしまいます。でも若手は大丈夫だから「どうせ部長の使い方がおかしいんでしょwww」といういつもの「偉い人に限って障害が発生する」パターンが展開されます。 大急ぎで調べた所、以下が判明しました。 2.6形式 "1965-11-17T00:

    45歳以上はMongoDBを使ったシステムが使えなくなる件 - Qiita
    sho
    sho 2015/02/27
    で、MongoDBにパッチ送ったの? いつ直るの?
  • MongoDBのjournalのファイルサイズが大きすぎる - 作業ノート

    VirtualboxでMongoDBを試していると、あるときディスク容量がほぼ100%になってしまった。ディスク全体は8.0GBで、そのうちルートは5.7GB。 調べたところ、/var/lib/mongodb/journal/ 以下のファイルのサイズが、2.0GBほどになっていた。 サイズを小さくする方法を探していたが見つからず、journalディレクトリ以下のファイルを削除して再起動することに。 具体的な手順は以下。 1. MongoDBを停止する $ sudo serivce mongo stop 2. journalディレクトリ以下のファイルを削除 $ sudo rm /var/lib/mongodb/journal/* 3. /etc/mongodb.confにsmallfilesを追加 $ sudo vi /etc/mongodb.conf … # Enable journali

    MongoDBのjournalのファイルサイズが大きすぎる - 作業ノート
    sho
    sho 2014/12/02
    MongoDBのjournalファイルを小さくして運用する方法
  • Compatibility Changes in MongoDB 2.6 — MongoDB Manual

    sho
    sho 2014/10/31
  • Upgrade Requirements for MongoDB 2.6

    sho
    sho 2014/10/31
  • MongoDBにrepairDatabaseをかけたらファイルサイズが半分になった - ただのにっき(2014-09-30)

    ■ Ustream上の動画をYouTubeに移した Ustreamがアーカイブ映像の保存期間の変更についてというアナウンスを出していたので、慌てて過去の動画をダウンロードした。10月9日までなのでかなり急な話だ。一部の動画がダウンロードできない(404になる)のだけど、なんでだろう。まぁいいけど。 で、ほとんどが動画でその他の車載動画はさほど価値がないので、動画だけYouTubeにチャンネルを作ってそちらへアップロードしなおし。 Gustav - YouTube Dora - YouTube 最近は動画撮ってないなー。たまには撮ろう(←と書くだけ書いて忘れるパターン)。 しっかし、こういう運用の変更って過去のデータはそのままに、新しいデータから適用って感じにするもんだと思うのだけどなぁ。過去にさかのぼって適用、しかも猶予はたったの10日って、Ustreamはあんまり経営状況よくないの

  • MongoDBでECサイトを実運用する3つのテクニック | Tokyo Otaku Mode Blog

    こんにちは。Tokyo Otaku Mode CTOの関根です。 Tokyo Otaku Modeでは、2013年8月からotakumode.com上にカート機能を追加し、決済までをワンストップでできる海外向けECサイトをスタートしました。 どういうシステム構成でotakumode.comが運用されているかを聞かれた時、「Node.js + MongoDBです」と答えると、エンジニアの皆さんは一様にびっくりします。特に驚かれるのが、MongoDBをメインのDBに使用している点です。信頼性に定評があるわけでなく、またNoSQLに対するライトなイメージが一般的にあるため、ECサイトのプロダクションとして使うことに疑問を持たれている方が多いのでしょう。 しかし、十分実用に耐え、日々機能追加が入り成長し続けるスタートアップの環境で、実際に1年間運用してきたECサイトがここにあることも事実です。 そ

    MongoDBでECサイトを実運用する3つのテクニック | Tokyo Otaku Mode Blog
    sho
    sho 2014/08/01
  • Mongo shellの裏技色々 - Qiita

    MongoDBを扱う上で避けては通れないmongo shell (mongo コマンド) 実はV8搭載の強力な実行環境です。 使い倒さなきゃ勿体無い!!! MongoDBの小技を覚えておけばグンと使いやすくなりますよ。 1.各DBの負荷状況 運用では普通に使えます。 下記のloadで独自のユーティリティファイルを使いJSで解析してしまうと楽。 > use admin > db.runCommand({top:1}) { "totals" : { "note" : "all times in microseconds", "admin" : { "total" : { "time" : 7, "count" : 1 }, "readLock" : { "time" : 0, "count" : 0 }, "writeLock" : { "time" : 7, "count" : 1 }, "

    Mongo shellの裏技色々 - Qiita
    sho
    sho 2013/12/20
  • mongoidバッドノウハウ集 - Qiita

    この記事はMongoDB Advent Calendar 2013の6日目です。 mongoidについてはnaru0gaさんの大変わかりやすい説明がありましたので、今回はmongoidのまともじゃない使い方をご紹介させていただきたいと思います。 mongoidについて ruby用のODMマッパーです。くわしくはこちらを御覧ください。 MySQLと共存させる リレーションが必要なモデル、飛んだら困るデータの格納はMySQLで、それ以外はMongoDBを使いたい、という場合にリレーショナルデータベースと共存させる方法です。 MongoDBのAdvent Calenderに何書いてんだと罵られそうですが、MongoDBだけで生きていくにはガッツの足りない方(自分含め)向けにMySQLと共存させる方法を紹介します。 まず、プロジェクト作成時、普通にMySQLをドライバとして指定します。

    mongoidバッドノウハウ集 - Qiita
  • リハビリにtdiary-io-mongodbを書いている - ただのにっき(2013-11-20)

    ■ リハビリにtdiary-io-mongodbを書いている 最近なかなか個人的な開発に時間が割けずにいて、tDiaryへのコミットも数ヶ月くらいしてないありさま。その間に@hsbtがいろいろと見通しを良くする改造を入れてくれていて、ストレージを司るIOや、書式を変更するスタイルをgem化できるようにしてくれていた。 そんなわけで、ちゃんと開発に復帰するにあたって、リハビリがてらMongoDB版のIOであるtdiary-io-mongodbを空き時間にぽちぽち書いている。いちおうUnit Testは通るようになったので、実際にローカル環境のtDiaryに組み込んでみているけど、スムーズに動かすためにはもう少しチューニングが必要だなー。このあたりもリハビリしないと……。

  • MongoDBの監視

    2. 自己紹介 名前:渡部 徹太郎 @fetaro ブログ 所属:野村総合研究所 OpenStandiaチーム 学生:東工大で情報検索の研究(@日データベース学会) 仕事:昔:大手証券会社のオントレシステムのWeb基盤 今:オープンソース全般のサポート/コンサル 特技:サーバ基盤、Linux、KVM、ruby、MongoDB(?) エディタ:emacs派 趣味:自宅サーバ MongoDB関連: • 2年前に、友人結婚式用のアプリを作った時に利用 • この勉強会(丸の内MongoDB勉強会)の主催者の一人 • 技評で記事連載中「MongoDBでゆるふわDB体験」

    MongoDBの監視