タグ

ブックマーク / ameblo.jp/principia-ca (11)

  • 『NewSQLのCockroachDBについて調べてみた』

    CyberAgent エンジニア Advent Calendar 2014の23日目の記事です。 秋葉原ラボの、鈴木(@brfrn169 )、Shtykh Roman、柿島大貴です。 普段は、分散DB(主にHBase)やストリーミング処理基盤の開発・運用などをやっています。 今回は、NewSQLの1つであるCockroachDBについて紹介します。 NewSQLとは CockroachDBについて紹介する前に、NewSQLについて簡単に説明します。 NewSQLとは、一言で言うとNoSQL+SQL機能(トランザクション)です。 RDBMSとNoSQLの良いとこどりをしているともいえるでしょう。 従来、RDBはスケールアウトのしづらいモノリシックな作りになっていました。 しかし、RDBでは、昨今のビックデータの潮流に対応できず、NoSQL技術が登場します。 NoSQLは、スケールアウトが容

    『NewSQLのCockroachDBについて調べてみた』
  • 『Cassandraのデータ設計で注意していること』

    Ameba Smart Phone PlatformAPI開発を担当している狭間と申します。今回はAmeba Smart Phone Platformで使用しているCassandraのデータ設計時に気をつけていることを実際に起きた事例を交えてお話したいと思います。 Cassandraのverstionは1.1.5を使用していて、100台構成のクラスタを組んでいます。ピーク帯ではおよそ50000write/sec、40000read/secのリクエストを処理していて、およそ45TBのデータを保持しています。そのような条件下で発生した事例と対処方法を紹介させていただきます。

    『Cassandraのデータ設計で注意していること』
  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
  • 『Ruby on RailsとApache Solrで構築するドキュメント全文検索システムの開発』

    はじめまして、アプリケーションエンジニアをしています、たかぎわ (@shun_tak) と申します。 2013年度4月入社予定の内定者で、現在はアルバイトとして週に2日間ほど勤務しております。 今回のエントリーでは、私が業務で開発した社内システムについて紹介しようと思います。 社内システム Tech Search を開発・リリースしました。Tech Searchのリリースにより、社内に蓄積された知識資産の活用が大幅に改善されました。 Tech Searchとは、弊社の研究レポート制度を利用して執筆されたテックレポートの全ファイル・全文章を横断的に検索するための社内システムで、Ruby on RailsとApache Solrを利用して実現しました。全文検索だけでなく絞り込み検索も実装し、UIにも手を抜かず、ユーザーに使いやすいシステムを目指して開発しました。 Tech Searchがリリー

    『Ruby on RailsとApache Solrで構築するドキュメント全文検索システムの開発』
  • 『【研究課題レポート抜粋】各無償OSにおけるFSとMySQLの性能』

    これは第1回研究課題(2008年前半期)におけるDaikoku氏のレポート「Linux,OpenSoralis,FreeBSDの各ファイルシステムにおけるMySQLの性能評価」からの抜粋です。当時の環境、状況における結果の有用性から、最優秀賞を受賞しました。 1. はじめに これまでは,Linux上でMySQLを利用することが多かったが,昨今,他のOSもオープン化や利便性向上,新しいファイルシステムへの取り組み等,注目すべき点がある.稿では,IAサーバにLinux,OpenSolaris,FreeBSDをインストールし,MySQLを稼動させ特徴や性能の評価を行う. 2. ファイルシステムについて 現在のところ,アメーバで利用しているMySQLはext3を利用している.その他の主なファイルシステムとしては,下表のようなものがある. 稿では,特に実用性が高いと思われるext3,UFS2(以

    『【研究課題レポート抜粋】各無償OSにおけるFSとMySQLの性能』
  • 『SSDをキャッシュデバイスとして使用できるFlashcacheの紹介』

    こんにちは。アメーバでインフラエンジニアをやっているSakamotoです。 今回はSSDをキャッシュデバイスとして使用できるFlashcacheについて書きたいとおもいます。 ■Flashcacheとは Facebookが開発したSSDをキャッシュ領域として使用し、 データを書きこむ際にHDDと同時にSSDに書き込み(ライトバック)を 行うことができるカーネルモジュールです。 データの読み出し時もSSDを参照するため高速になります。 Device-Mapper(論理/物理デバイスのマッピング機構)を使用しており、 OSからはキャッシュで使用する領域とデータとして使用する領域が 論理的に一つのスライスとして認識されます。 MySQLのInnoDB用に開発されたようですが、 上記のことから他アプリケーションでも通常のディスクとして キャッシュ領域を意識することなく使用することができます。 今回

    『SSDをキャッシュデバイスとして使用できるFlashcacheの紹介』
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

    皆様、はじめまして。2010年9月に入社した並河です。 インフラ周りの話題を・・・ということで、今回はサーバの構築やシステム管理作業を楽にしてくれるツールである「Chef」について紹介します。 ■ Chefとは「Chef」は、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるRuby製のシステム管理ツールで、オープンソースとして公開されており、既に、37signalsやEngine Yard、RightScaleなどでも使われており、利用実績も出始めています。 Ruby製のシステム管理ツールといえば「Puppet」を思い浮かべる方も多いのではないでしょうか。ChefはPuppetの競合ソフトウェアとなる位置付けで、出来ることだけでいうと、特別大きな差はないと感じていますが、Puppetは外部DSLとして設定を記載するのに対し、Chefは

    『サーバの構築作業やシステム管理を自動化する「Chef」』
  • 『【研究レポート抜粋】P2P Replicated File Store の実装』

    上記表の通り、仮想ノードにより偏りは少なくなったが、仮想ノードの導入により以下の問題が発生する。 ノード追加時のデータコピーの局所性物理ノードだけでコンシステントハッシングを行う場合、ノードを追加した際は新ノードが配置される場所の次に位置するノードからデータをコピーするだけでよいという特徴がある。 しかし仮想ノードを導入すると仮想的なノードが入り混じる形で配置されるので、結果的に全ての物理ノードにデータコピーが発生する。 そのため、P2P Replicated File Storeではオンラインでのノード追加機能を諦め、ノード追加時には再起動による再配置に絞ることにした。 耐障害性 レプリケーション P2P Replicated File Store では、ファイルの格納時にノード側でレプリケーションを自動的に行う。 上図のようにシーケンシャルにファイルレプリケーションを行う。 非同期での

    『【研究レポート抜粋】P2P Replicated File Store の実装』
  • 『アメーバを支える自作サーバのいままでとこれから』

    初めましての方は初めまして。知ってらっしゃる方はありがとうございます(※)。 アメーバでインフラエンジニアをしている桑野章弘と申します。id:akuwanoと言ったり、@kuwa_twでtwitterもやっています。 ※M.S.注...「桑野トラップ」でご存知の方、その節はどうも申し訳ありませんでした。 twitterではどうでもいいことかカレーの事をメインにつぶやいております。(って言ったら誰もフォローしませんよね、、、参加した勉強会の実況等もしています) 色々話したいことはあったりするのですが、今回は私の最初のエントリということもありまして「アメーバの自作サーバのこれまでとこれから」についてお話しさせていただければと思います。 え?キャッチーだからとかじゃ、、、ないですよ? ■ミルフィーユサーバの紹介 、、、それでは、気を取り直して。 まず、現在アメーバで主に使われている自作サーバと言

    『アメーバを支える自作サーバのいままでとこれから』
  • mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ

    初めまして。2010年の3月に入社した oinume です。新年1月からウィルス性胃腸炎に罹りながらもなんとかこのエントリーを書いています。今回は、mysqlコマンドに関する自分が今まで学んだ&教えてもらった細かい実践的なTIPSを紹介します。小粒ですが何かの役に立てば幸いです。 edit (¥e)コマンド mysqlプロンプトにいながら任意のエディタでSQLが編集できちゃいます。具体的には、mysqlコマンドでプロンプト待ちの状態で mysql> edit のように edit または ¥e と入力すると、環境変数EDITORで設定してあるエディタが立ち上がりSQLが編集可能になります。編集が終わったらエディタを終了して ; とやればSQLが実行されます。viなどターミナルで動くエディタに慣れている人は長いSQLを編集する時に重宝する機能でしょう。この技は前職の同僚に教えてもらって、以降便

    mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ
  • 『MySQLバイナリログパーサJava実装』

    みなさん、はじめまして。新規開発局で基盤系システムを担当している、歴史学科出身のH.T.です。 このブログ用に新規にレポートおこす人もいるようですが、私はちょっとたてこんでいるので第4回研究レポートからの抜粋です。ご容赦ください。 はじめに「MySQLのバイナリログからSQL文を抽出したい、しかもJavaで」と思い、バイナリログのパーサをJavaで実装しました。 MySQL 4.1で使われているv3フォーマット、かつステートメントベースのレプリケーションを前提にしています。 バイナリログの構造バイナリログの構造を理解するにあたっては、MySQL Forge WikiのMySQL Internals Binary Logの項を参照しました。 バイナリログは、ひとつのマジックナンバーと複数のイベントで構成されています。マジックナンバーはファイルの先頭にひとつだけ存在する、4byteの固定長デー

    『MySQLバイナリログパーサJava実装』
  • 1