タグ

2017年4月19日のブックマーク (3件)

  • MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ

    こんにちは、サービス開発部の荒引 (@a_bicky) です。 突然ですが、RDBMS の既存のテーブルを見てみたら「何でこんなにインデックスだらけなの?」みたいな経験はありませんか?不要なインデックスは容量を圧迫したり、挿入が遅くなったりと良いことがありません。 そんなわけで、今回はレコードを検索するために必要なインデックスの基礎知識と、よく見かける不適切なインデックスについて解説します。クックパッドでは Rails のデータベースとして主に MySQL 5.6、MySQL のストレージエンジンとして主に InnoDB を使っているので、MySQL 5.6 の InnoDB について解説します。 InnoDB のインデックスに関する基礎知識 インデックスの構造 (B+ 木) InnoDB では B+ 木が使われています。B+ 木は次のような特徴を持った木構造です。 次数を b とすると、

    MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ
  • タスクに合わせたトークナイザ、単語分割に関連したポエム - yasuhisa's blog

    ポエムを適当に書きます。2立て。週末のノリなので、適当です。 Sentencepieceの紹介記事を読んだ 文書分類でneologdとmecabを比較した まとめ Sentencepieceの紹介記事を読んだ ニューラル言語処理向けトークナイザのSentencepieceについて書かれた紹介記事を読みました。 自分用の要約すると ニューラル言語処理では語彙数が大きくなると扱いにくい 単語をサブワードに分割できるものは分割して、語彙数を制限する(数千から数万)方法がよく使われる 尤度を最大にするエントロピー圧縮の一部と見なせる スペースもメタ文字に置き換えて生文をわせることにより、detokenizeが言語によらず簡単になる 翻訳等のタスクで助かる! こういうのが必要なくなる 単語分割されたものからさらに分割するわけではなく、生文からやるために計算量オーダーの削減が行なわれている 従来の

    タスクに合わせたトークナイザ、単語分割に関連したポエム - yasuhisa's blog
  • SoftwareDesignの連載をはじめました。 - そーだいなるらくがき帳

    タイトルそのままにSoftwareDesignの連載をはじめました。 gihyo.jp RDBアンチパターンと題してRDBの設計についてお話していきます。 なかなか胸に刺さる話となってますので今後の内容にもご期待ください!! pic.twitter.com/ShKeGy4M1S— a-know (@a_know) 2017年4月18日 寂しかったのでブログ書きました。 現場からは以上です。

    SoftwareDesignの連載をはじめました。 - そーだいなるらくがき帳