タグ

ブックマーク / medium.com (5)

  • Apache Kafkaを使ったアプリ設計で反省している件を正直ベースで話す

    Apache Kafka: Producer, Broker and Consumer2017年は生まれて始めてApache Kafkaを格的に業務利用(PoCではなく番運用)した年でした。Apache Kafka的なメッセージングミドルウェアそのもののは、社内的な事情でよく使っていたのでその使い勝手に対して困惑はほとんど無かったですし、ミドルウェアとして非常に安定しているため、Kafkaクラスタそのものでの不具合らしい不具合が発生したことは一度もありませんでした。 しかし、Kafkaのトピック設計などに関してのベストプラクティスは事例ベースでもあまり見かけたことがなく、チームメンバーと悩むことも多かったです。このストーリーでは、主にKafkaを利用したアプリ設計で考えたことや失敗したことを振り返りつつ共有します。なお、パーティション数や各種バッファサイズなどのチューニング要素は今回取

    Apache Kafkaを使ったアプリ設計で反省している件を正直ベースで話す
  • 1回目)Elasticsearch 勉強会を開催したので資料公開します。

    6月27日にクラスメソッド事業開発部の開発メンバーとベルトラ開発メンバー合同で Elasticsearch 勉強会1/2を開催しました。参加者はリモートも含めて約25人くらい。時間は2時間。久しぶりに長時間喋ったので疲れました。。たくさんの人が参加すると聞いていたので、この勉強会のために資料まとめたので公開します。 Elasticsearch 勉強会 1/2 前半全文検索エンジンの特徴について話しました。いきなり「転置インデックス」と言われても、ピンと来ないかもしれませんが。全文検索エンジンの設計を担当する人も、それを使ってアプリケーションを開発する人もこの仕組みを知らなければ Elasticsearch のリファレンスで提供されている機能を見てもピンと来ません。「この機能何に使うんだろう?」となってしまいます。世の中にある全文検索エンジンに標準規格というものは存在しませんが、その仕組みは

    1回目)Elasticsearch 勉強会を開催したので資料公開します。
  • Elasticsearch キーワードサジェスト日本語のための設計

    Google に代表される「キーワードサジェスト」機能を Elasticsearch を前提に日語向けに設計。 よくある要件サイト内で過去に検索された有効なキーワードをサジェストしたい。入力されたテキストに関連性が高く、過去に検索された回数の多い順でサジェストしたい。最初に入力された言葉の後に空白を入力すると、最初の言葉と一緒に検索される複合語の候補サジェストしたい比較的シンプルな要件のように見えますが。。日語を対象にしたサジェスト機能を実装する場合、入力途中の日語のテキスト受けながら、ひらがな、カタカナ(半角・全角)、漢字、ローマ字(大文字・小文字・全角・半角)のコンビネーションを合わせて、関連性の高い言葉を素早くユーザーに提案しなければなりません。以外と難しいのです。。 Elasticsearch にも Completion Suggester と言うサジェスト向けの機能があるの

    Elasticsearch キーワードサジェスト日本語のための設計
  • Elasticsearch 特徴まとめ

    以前から気になっていたElasticsearch、いつの間にか バージョンも1.0.1がリリースされていたので、そろそろ情報収集。まずは、パッケージに含まれるREADMEから。 Elasticsearch とは?簡単に説明すると、クラウド向けに構築された、RESTful な API を提供する分散型のサーチエンジンアプリケーション。オープンソースで提供されています。 http://www.elasticsearch.org/主な特徴は?READMEから主な特徴を抜粋。 *分散処理システムと高可用性サーチエンジン 各 Index は変更可能な数の Shard で完全に分割されている。Shard は、1以上の Replica を持つことができる。リード/検索処理は、Replica Shard のいずれかの一つで実行される。*マルチテナントとマルチ Type 1つ以上の Index をサポートI

    Elasticsearch 特徴まとめ
  • Elasticsearch システム概要

    Elasticsearch は、Index や Type など論理的なインデックスを管理するものや、Shard や Replica、Node など物理的なインデックスを管理するものなど、主要要素がいくつもあるのでなるべくわかりやすく整理します。 論理的なインデックスElasticsearch の論理的なインデックスは、Index、Type、Document の3つの要素から構成されています。 論理的なインデックスの構成要素IndexIndex は論理的なインデックスを構成する一番上位のオブジェクトです。Elasticsearch は、複数のIndexをサポートしています。各インデックスを横断して検索することもでき、任意のインデックスのみ検索対象にすることもできる。 TypeType は、各 Index 毎に複数作成可能なRDBのテーブルのようなものです。Type はフィールドやインデックス

    Elasticsearch システム概要
  • 1