タグ

2016年9月15日のブックマーク (5件)

  • Elasticsearchインデクシングパフォーマンスのための考慮事項 - Qiita

    マッピングタイプを使いすぎないようにする Elasticsearchでは1つのインデックスの中に複数の異なるスキーマ定義を持つことができる。このスキーマ定義をマッピングタイプという。単に「タイプ」と呼ばれる事もある。フィールドのデータタイプとは別の概念。インデックスはデータベースに、マッピングタイプはその中のテーブルに例えられる事が多いが、同じ名前のフィールドはマッピングタイプが異なっていても定義が共有されたりして、データベースのテーブルほど互いに独立していない中途半端なものになっている。(2.0より前のバージョンではタイプごとにフィールド定義が異なっていても多少使えたりしたが、2.0以降は厳密に禁止されるようになった. 参照:Conflicting field mappings) タイプが異なっていてもデータは同じLuceneインデックスの中に混ざって入ってしまうため、タイプ間で互いに影

    Elasticsearchインデクシングパフォーマンスのための考慮事項 - Qiita
  • PostgreSQLでWebサービスを運用するためにやっていること - LCL 開発者ブログ

    弊社では、RDBMSにPostgreSQLを利用して数年間サービスを運営しています。 PostgreSQLMySQLと違って、Webサービスでの運用事例をあまり見かけないので、今回は弊社サービスの「夜行バス比較なび 」でどのように運用しているかを紹介いたします。 システムの特徴 ユーザからのアクセスは、9割が参照処理。 データはバッチ処理で、随時 ( 毎分 ) 更新されている。 参照SQLの結果はmemcachedを利用してキャッシュをしているが、データの更新頻度が高いため長時間のキャッシュはしていない。 参照SQLは、集計処理が多いため比較的重いSQL。 参照対象となるテーブルのデータ量は、最大で数100万レコードと比較的少ない。 24/7で稼働。 構成 AWSのEC2上に、PostgreSQL 9.3を導入しています。c4系のインスタンスを使いたいので、RDSは使っていません。インス

    PostgreSQLでWebサービスを運用するためにやっていること - LCL 開発者ブログ
  • PostgreSQL9.3でのストリーミングレプリケーション環境の構築 - Qiita

    はじめに PostgreSQLのレプリケーションは、WEBに情報があるが、実際に構築した際には、細かい手順が省かれていたり少しハマったので、ここに簡単にまとめておく。 レプリケーションしたDBへの、クエリ分散にはpgpool-IIを利用したため、それについては別記事で書く予定。 前提知識 ストリーミングレプリケーション環境を構築する上で、一応知っておいたほうがいいこと。 レプリケーションの仕組み マスタDBで発生したWALファイルを、スレーブとなるDBに反映させることで、レプリケーションを実現している。 レプリケーションの同期モード こちらの記事がわかりやすい。 http://codezine.jp/article/detail/7109 同期・メモリ同期は、スレーブが1台の場合はスレーブに障害が発生すると、マスタへの更新も行われず、全体の障害につながってしまうので注意。 今回試した環境

    PostgreSQL9.3でのストリーミングレプリケーション環境の構築 - Qiita
  • 気がつくと複雑になってしまうコード: ある nakagami の日記

    いま、僕は複雑なコードに苦しめられている。主なところは - 安直に例外投げすぎ問題 - リストの内包表記使いすぎ問題 - define 使いすぎ問題 例外は要するに大域ジャンプなので後で例外が起きた(起こした)ところの値を受け取りたくて苦労している。 python は例外を投げてもメモリリークしないけど、いっそのこと golang ならこんな苦労をしなくても済んだのかもと思う。 リストの内包表記使いすぎ問題は def func_ab(values_list): def _set_ab(v): v.a = 'A' v.b = global_func_b(v.b) [_set_ab(v) for v in values_list] ↑こんなのがあって def func_ab(values_list): for v in values_list: v.a = 'A' v.b = global_f

    気がつくと複雑になってしまうコード: ある nakagami の日記
    ikeikeikeike
    ikeikeikeike 2016/09/15
    たしかにGoやると、例外投げないでプログラム書く癖が付きますよね
  • kerlでGitHub版のErlangをインストールする - Qiita

    これを読む前に tatsuya6502さんによってまとめられた同様の記事が Macでkerlを使用して複数バーションのErlang/OTPを導入する Linuxでkerlを使用して複数バーションのErlang/OTPを導入する Linux/Macでkerlを使用して未リリース版のErlang/OTPをお試しする(バージョン17のmap型を体験) にあります.そちらもぜひ参考に. kerlとは Yurii Rashkovshkiiのkerlは,複数バージョンのErlang/OTPを切り替えながら使うことを目的としたツールである.kerlはシェルスクリプトなので,その動作を追うことは難しくない. kerlの基的な使い方 kerlでは各ユーザがErlang/OTPの環境一式をホームディレクトリの下に置いて使うことを前提にしている.kerlの作業ディレクトリは~/.kerl/で,起動時に評価され

    kerlでGitHub版のErlangをインストールする - Qiita