Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

はじめに この記事は CrowdWorks Advent Calendar 2016 12日目の記事です。 昨日のエントリーは @nasum さんによる「nasneの容量をシェルスクリプトでSlackに通知する」でした。 先日起きたことを、ありのままに1話します。 MySQL にあるデータを Elasticsearch (以下 ES と略) にインデックスしようとしていたと思ったら、いつの間にか Ruby の C 拡張をデバッグしていた。な、何を言ってるのか (ry おまえは何を言っているんだ 三行でまとめると、 Ruby を使って ES にインデックスを作ろうとしたら予期しない現象に遭遇して、 原因を探ろうとしたら C 拡張で実装されている箇所だったので、 しょうがないからデバッグする方法を調べた という話です。 発端 事の起こりは、自社サービスのデータベースに溜まっているデータをより効
ActiveRecordからutf8mb4を扱えない主な理由 ActiveRecordのstring型カラムがvarchar(255)で定義されるので、utf8mb4ではインデックスのキープレフィックスが767byteを超えてしまう。 ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes この問題をMySQLの設定とRailsへのパッチで解決する。 MySQLの設定 文字コードをutf8mb4で運用するために、インデックスのキープレフィックスを拡張する。 innodb_large_prefixをenableにする 1を有効にするために、innodb_file_formatをBarracudaにする 1を有効にするために、innodb_file_per_tableをenableにする innod
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに みなさんMySQLを使うとき、冗長化はどうしてますか? Master-Slaveのレプリケーションを頑張って組むか、RDSみたいなフルマネージドサービスを使うか、選択肢は色々あります。 この記事ではシンプルな構成で簡単にMySQL互換の冗長化クラスタを構築する方法を紹介します。 Master-Slaveのように複雑でなく明瞭簡潔なので、構築・運用も楽になります。 コストや自由度の面からRDSはちょっと、という人にもいいかもしれません。 細かくいうと、全ノード書き込み可能なマルチマスタで、同期的にレプリケーションを行うRDBクラ
RailsのChangeLogを読んでいたらkamipoさんの ActiveRecordへのコミットがRails5から使えるようになってるものがたくさんあったのでまとめてみました。 PostgreSQLでExpression IndexとOperator Classをサポート MySQLでPrepared statesmentsをサポート config/database.ymlでprepared_statements: trueとすると利用できるようになります。mysql2 0.4.4以降が導入されていないと使えないようです。 Schema dumperがcreate_tableブロックの中でindexを定義するようになった schema.rbのcreate_tableのブロック内でt.indexでインデックスが定義されるように変更されています。以前はcreate_tableのブロック外で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く