基本的にMac OS X 10.5と同じですが、ディレクトリユーティリティ.appの場所が変わってしまいました。
http://mac.kumadoumei.net/article/32320786.html
1./システム/ライブラリ/CoreServices/ディレクトリユーティリティ.appを起動します。
You are currently browsing the 私というひとりの人間。 archives for 1月, 2010.
基本的にMac OS X 10.5と同じですが、ディレクトリユーティリティ.appの場所が変わってしまいました。
http://mac.kumadoumei.net/article/32320786.html
1./システム/ライブラリ/CoreServices/ディレクトリユーティリティ.appを起動します。
ココまでできるの!?Amebaを支えるMySQLシステム構築
というお題目でのデータベースセッション。

<アジェンダ>
1.レプリケーション
データベースの運用でI/O負荷が問題でSELECTのレスが低下する。
解決としてI/O分散のためスケールアップすることで簡単に解決できるが
コストがかかる。
データベースの改善策として、SQLのチューニング、インデックスの見直し
レプリケーションを利用した分散。
MySQLの特徴として、レプリケーション機能で簡単に負荷分散できる。
1-1.レプリケーションを利用した分散について
スキーマ別やテーブル別でSlaveサーバを構築。
スキーマ別での分散は「アメばた会議」で利用。
テーブル別での分散は「ブログ」、「なう」など多くのサービスで利用。
1-2.用途に合わせたレプリケーション
導入からテーブル分割する必要はないが、設計段階からスケールアウト
できる設計すれば迅速対応できる。
データ量が多くなるテーブル同士でのJOINはさける。
1-3.レプリケーションを効果的に使うための設計
1-4.ストレージエンジンとレプリケーション
トランザクションを必要とする更新=>InnoDB
SELECT発行が多い場合は、Slaveサーバのストレージエンジンを
Memoryエンジンにすることで、パフォーマンスが出る。
Memoryエンジンは、データ、インデックスをメモリ上で管理するので
書き込み、読み込み共に、最もはやい。ただし、Memoryエンジンは
MySQLの再起動でデータが消えてしまうので再起動方法や障害時の
データ復旧など予め考えておくことが必要。
ピグでMemoryエンジンを使用。
Masterサーバには不要な履歴などのテーブルがある場合はBlackHoleエンジン
MasterサーバのI/O負荷を軽減できる。<=参照はSlaveでするから。
MasterのDisk容量を確保、I/Oを減らせる。
1-5.多階層のレプリケーション
ブログのデータをマイページ、プロフィールで使うなど。
データセンターが違うとき。
2.MySQLの運用
監視サーバからケータイにメール。
MySQLサーバでは、PING監視、PORT監視、レプリケーション監視、
RAID監視を行っている。ツールは「mon」。
「mon」はデフォルトでPING、PORT監視をするコマンドがある。
レプリケーション監視については、独自に作成。
レプリケーション監視にはMySQLコマンドと「SNMP」を使用。
SHOW SLAVE STATUS
2-1.バックアップ
mysqldumpでのバックアップは一般的だが、リストアに時間がかかるし、
使える保証がない。
LVM2 スナップショット機能でバックアップ。
2-2.障害監視
障害監視ツール「mon」以外に「Negios」を使用して
”Load Average”と”Diskの使用率”も監視しています。
2-3.性能監視
主にLoad Average、トラフィック量、Disk I/O、Memory使用量
Disk使用量、レプリケーション遅延、vmstat
3.今後の取り組み
新しいMySQLのバージョンの検証。ストレージエンジンのパフォーマンス
サードパーティー系のストレージエンジン。
KeyValue型の検証。
メモ:
Amebaでは年50台増えている。
DBサーバーは今は250台くらい。
ほぼすべてをmysqlで運用。
SQL発行回数2500回/secを超えたら詰まった。
監視を強化
3秒はスローログとする。
2500回/secを超えたら詰まったのは、
IBM/X336
4コアサーバでやっている。
DELL/R300
ではそれ以上だった。
XenでやったらI/Oがよろしくないから仮想やってない=単体サーバ。
アメブロはオラクルとハイブリッド。
現在使っているMySQLのバージョンは4.1.21と5.0系
5.1はバグが多いと。
Ameba x ロクナナワークショップ One Day College行ってきた。

★マネージメント セッション
ブログ、芸能人、ピグ、モバイル…Amebaってどうやってビジネスしているの? †
1/22(金)に開催されたAmeba x ロクナナワークショップに出席
主催:株式会社サイバーエージェント
ロクナナワークショップ
サイバーエージェントがメディア事業として展開しているAmebaについて聞いてきた。
①メディアを育む ⇒②ビジネスエンジンの投入⇒③メディアに合わせて改善
自社開発のコンテンツを育てるには、プラットフォームと、コンテンツの両方の育成が
必要であり、ユーザーは自己実現欲を満たすことで、そのコンテンツに長く滞在し、
購入をする。その点がECで置き換えたときと全く同じであり、商品を出品するだけ
(器を用意するだけ)でなくコンテンツの充実もECサイトの成長には重要。



Ameba x ロクナナワークショップ One Day College 無事終了
http://ameblo.jp/lionbaby/entry-10440788661.html
Ameba×67WS イベント無事終了!
http://ameblo.jp/yana/entry-10440611721.html
Ameba x ロクナナワークショップ One Day Collegeまとめ その1(´・ω・)
http://ameblo.jp/konica/entry-10440758902.html
Ameba x ロクナナワークショップ まとめ その2(´・ω・)
http://ameblo.jp/konica/entry-10440788888.html
年末から続いている目標管理。
私自身のスキルアップを目的として、
今年やりたいことを年末にあげてみました。
目標達成に向けて、やれてます!
それには、毎日30分刻みで、スケジューリングをしておくこと。
できないことが2つくらい出てきますが、
最近は概ね予定通りで進んでいます。
mysql> SELECT “u” AS フィールド名, store . * FROM store
[root@centos ~]# mysql -u root -p ← MySQLへrootでログイン Enter password: ← MySQLのrootパスワード応答 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 19 to server version: 4.1.12 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> grant all privileges on test.* to centos@localhost identified by 'centospass'; ← testデータベースへの全てのアクセス権限を持った、新規ユーザcentosを登録 Query OK, 0 rows affected (0.00 sec) mysql> select user from mysql.user where user='centos'; ← centosユーザ登録確認 +--------+ | user | +--------+ | centos | +--------+ 1 row in set (0.00 sec) mysql> exit ← ログアウト Bye [root@centos ~]# mysql -u centos -pcentospass ← centosユーザでMySQLサーバーへログイン Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 18 to server version: 4.1.12 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database test; ← testデータベース作成 Query OK, 1 row affected (0.00 sec) mysql> show databases; ← データベース作成確認 +----------+ | Database | +----------+ | mysql | | test | +----------+ 2 rows in set (0.01 sec) mysql> use test ← testデータベースへ接続 Database changed mysql> create table test(num int, name varchar(50)); ← testテーブル作成 Query OK, 0 rows affected (0.01 sec) mysql> show tables; ← テーブル作成確認 +----------------+ | Tables_in_test | +----------------+ | test | +----------------+ 1 row in set (0.00 sec) mysql> insert into test values(1,'山田太郎'); ← testテーブルへデータ登録 Query OK, 1 row affected (0.00 sec) mysql> select * from test; ← データ登録確認 +------+----------+ | num | name | +------+----------+ | 1 | 山田太郎 | +------+----------+ 1 row in set (0.00 sec) mysql> update test set name='山田次郎'; ← testテーブル内データ更新 Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from test; ← データ更新確認 +------+----------+ | num | name | +------+----------+ | 1 | 山田次郎 | +------+----------+ 1 row in set (0.01 sec) mysql> delete from test where num=1; ← testテーブル内データ削除 Query OK, 1 row affected (0.03 sec) mysql> select * from test; ← データ削除確認 Empty set (0.00 sec) mysql> drop table test; ← testテーブル削除 Query OK, 0 rows affected (0.00 sec) mysql> show tables; ← テーブル削除確認 Empty set (0.00 sec) mysql> drop database test; ← データベースtest削除 Query OK, 0 rows affected (0.00 sec) mysql> show databases; ← データベース削除確認 +----------+ | Database | +----------+ | mysql | +----------+ 1 row in set (0.00 sec) mysql> exit ← ログアウト Bye [root@centos ~]# mysql -u root -p ← MySQLへrootでログイン Enter password: ← MySQLのrootパスワード応答 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 21 to server version: 4.1.12 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> revoke all privileges on *.* from centos@localhost; ← centosユーザから全てのデータベースへのアクセス権限を剥奪 Query OK, 0 rows affected (0.00 sec) mysql> delete from mysql.user where user='centos' and host='localhost'; ← centosユーザ削除 Query OK, 1 row affected (0.01 sec) mysql> select user from mysql.user where user='centos'; ← centosユーザ削除確認 Empty set (0.00 sec) mysql> flush privileges; ← centosユーザの削除をMySQLサーバーへ反映 Query OK, 0 rows affected (0.01 sec) mysql> exit ← ログアウト Bye