コンピュータ上で表わされる時間単位のUNIX_TIME(1970/01/01 00:00:00からの経過秒数で表される)
以前、MySQLでUNIX_TIMEをDATEに変換しようとした時に躓いたことがあったのでメモしておきます。
原因としては、MySQLで変換しようとしていたUNIX_TIMEがミリ秒だったため。
MySQLでミリ秒をUNIX_TIMEやDATE型に変換するためには秒に変換してから処理する必要があります。
変換する際にはTRUNCATEで「切り捨て」処理にしないと微妙にズレるので気を付けましょう。
//ミリ秒をUNIX_TIMEで表示しようとすると失敗する
mysql> select FROM_UNIXTIME(1323788399999);
+------------------------------+
| FROM_UNIXTIME(1323788399999) |
+------------------------------+
| NULL |
+------------------------------+
1 row in set (0.00 sec)
//ミリ秒を秒に変換(下3桁をカット)してUNIX_TIMEで表示
mysql> select FROM_UNIXTIME(TRUNCATE(1323788399999,-3)/1000);
+------------------------------------------------+
| FROM_UNIXTIME(TRUNCATE(1323788399999,-3)/1000) |
+------------------------------------------------+
| 2011-12-13 23:59:59 |
+------------------------------------------------+
1 row in set (0.00 sec)
//ミリ秒をUNIX_TIMEにしてDATE型で表示
mysql> select DATE(FROM_UNIXTIME(TRUNCATE(1323788399999,-3)/1000));
+------------------------------------------------------+
| DATE(FROM_UNIXTIME(TRUNCATE(1323788399999,-3)/1000)) |
+------------------------------------------------------+
| 2011-12-13 |
+------------------------------------------------------+
1 row in set (0.01 sec)
http://www.mongodb.org/
MongoDBは、高パフォーマン ス、スキーマレス、オープンソースのドキュメント指向データベースである。C++言語で記述されている。MongoDBは、BSONというJSONのバイ ナリ版のような形式でドキュメントを表現し、コレクションとして管理する。この形式は複雑な階層を持たせることができ、かつクエリやインデックスが容易で ある。これにより多くのアプリケーションは自身のネイティブなデータ型や構造に合った自然な方法でデータを格納できる。
最 近、業務で使うことが多くなってきたMongoDB。OracleやMySQLといったRDBと違って、複雑なデータを階層で表すことができるのが特徴。 またRDBには基本的に備わっているトランザクションは省かれているためデータの信頼性は低くなるが、パフォーマンスは非常に高いとされ る。
データベースの操作において基本中の基本であるバックアップとリストア。余裕を持って出来るバックアップに対して焦っているケースが少なくないリストア。
今回はド忘れしても大丈夫なように備忘録として簡単にまとめようと思います。
localhostのtest_dbをバックアップする
$ > mongodump --host localhost --db test_db
localhostのtest_dbにあるtest_collectionをバックアップする
$ > mongodump --host localhost --db test_db --collection test_collection
localhostのtest_dbにあるtest_collectionのユーザ"hiroki"をクエリ指定してバックアップする
$ > mongodump --host localhost --db test_db --collection test_collection -q {userName : 'hiroki'}
バックアップしたtest_dbを全てリストアする
$ > mongorestore --host localhost --db test_db ./dump/test_db
バックアップしたtest_dbのtest_collectionをリストアする
$ > mongorestore --host localhost --db test_db --collection test_collection ./dump/test_db/test_collection.bson
上記のlocalhost部分はIPやURLを指定すればリモートホストでも操作可能。
DBの操作はヘタると大変なのでくれぐれも慎重に。自分はいつもビビりながらやってます。
MongoDBは、高パフォーマン ス、スキーマレス、オープンソースのドキュメント指向データベースである。C++言語で記述されている。MongoDBは、BSONというJSONのバイ ナリ版のような形式でドキュメントを表現し、コレクションとして管理する。この形式は複雑な階層を持たせることができ、かつクエリやインデックスが容易で ある。これにより多くのアプリケーションは自身のネイティブなデータ型や構造に合った自然な方法でデータを格納できる。
最 近、業務で使うことが多くなってきたMongoDB。OracleやMySQLといったRDBと違って、複雑なデータを階層で表すことができるのが特徴。 またRDBには基本的に備わっているトランザクションは省かれているためデータの信頼性は低くなるが、パフォーマンスは非常に高いとされ る。
データベースの操作において基本中の基本であるバックアップとリストア。余裕を持って出来るバックアップに対して焦っているケースが少なくないリストア。
今回はド忘れしても大丈夫なように備忘録として簡単にまとめようと思います。
localhostのtest_dbをバックアップする
$ > mongodump --host localhost --db test_db
localhostのtest_dbにあるtest_collectionをバックアップする
$ > mongodump --host localhost --db test_db --collection test_collection
localhostのtest_dbにあるtest_collectionのユーザ"hiroki"をクエリ指定してバックアップする
$ > mongodump --host localhost --db test_db --collection test_collection -q {userName : 'hiroki'}
バックアップしたtest_dbを全てリストアする
$ > mongorestore --host localhost --db test_db ./dump/test_db
バックアップしたtest_dbのtest_collectionをリストアする
$ > mongorestore --host localhost --db test_db --collection test_collection ./dump/test_db/test_collection.bson
上記のlocalhost部分はIPやURLを指定すればリモートホストでも操作可能。
DBの操作はヘタると大変なのでくれぐれも慎重に。自分はいつもビビりながらやってます。
約一年前、人事本部に配属されてすぐに作った「本社機能ブログリスト」を
「ホンシャキなう」というサイト名に変えてリニューアルオープンしました!
若手からの活性化を目的とした「5123の会」からの施策第一弾になります。
http://cybar.cyberagent.co.jp/5123/
※社内からのアクセスのみ可能
ホンシャキなうとは、「本社機能」と「なう」を掛けた【本社機能の今】が分かるサイトです。
基本構造として、本社機能の全メンバーの顔が一覧でき、顔からブログへ飛ぶことができます。
また顔はブログ更新順に左上から並ぶようにシステムを組んでいるので、
常に役員や本社機能の最新ブログをキャッチアップできるようなサイトとなっております。
今後「どや顏」「人アド」「本社機能卒業生」など、
5123の会からコンテンツを盛りだくさんリリースしていきます!
本社機能でない皆さんも是非使ってみてください!
iPhoneからの投稿
人事本部に配属されて丸一年。
早いものですね・・・
思い返せば一年前、衝撃の配属を言い渡され、愕然としたのを思い出します。
もともとエンジニア採用として入社をしたので、
当然、入社をしたら何かしらのWebサービスの開発に携わると思っていたし、
主軸サービスである「ブログ」の大規模システムをイジリたいと思っていました。
ただ単に「ブログが好きだからブログをやりたい」という訳ではなく、
「ブログ」という【何にでも応用出来るWebシステム】に携わることで、
大規模サービスの構築技術、及びエンジニアとしてのコア技術が身につく。
それがエンジニアキャリアの一歩目として、一番有益だと思って選んだ道でした。
「後々あれをしたいから、いまこれをやる」
というようにザックリとした計画を立てて、これまで行動してきました。
もちろんこの会社に入社を決めたのも、後々の計画の途中であるわけで、
自分の思い描いてきた理想の流れが、直前でひっくり返えされた気がしました。
配属されてみると、全社のネットワーク/システムを管理する部署で、
一般的には「情報システム部」と呼ばれるような仕事をする部署でした。
ネットワーク周りの仕事ということで、
新卒のエンジニアである自分がたったひとり人事本部に配属され、嬉しかったけど、
配属後1ヶ月くらいは、当然「システム開発」をしたいという思いが強く、
トレーナーのN島さんにとても厳しく育てていただきながらもやはり若干悩んでいました。
「みんなには気付かれないけど、
普通に仕事ができるのは僕達がしっかり環境を創っているからです。」by An在
開発部署から希望して異動してきたAn在さんからネットワークについて、
いろいろと教えてもらうことで、インフラの重要性や楽しさを理解するようになり、
いつの間にか、いまの仕事に誇りをもって取り組めるようになった気がします。
オフィス移転という大きなプロジェクトをメインで任されたこともポイントのひとつでしょう。
新ビルのネットワーク構築、電話構築、プリンタなどのインフラを丸ごとやりました。
相当なボリュームで潰されそうになりましたが、
そのインフラ丸ごとやった経験が自分のキャパシティや知識の幅を大きく広げることにつながり、
いまでは、自分の最大の武器となっています。
一年を通して考えてみると、
当初、自分が拘っていた「システム開発」のスキルはついてないけど、
全社のネットワークを支えるネットワーク機器やサーバ、各種システムなどの
情報システム管理者としてのスキルやネットワークエンジニアスキル、
そして、プロジェクトマネジメントスキルは確実に身に付いてると思います。
思い描いていた理想のルートでは無いけれど、【全力遠回り】で全体知識が付きました。
この部署の最大のメリットは、
中山常務、曽山役員のすぐ近くで、グループ全体を対象として働けるということ。
先日の障害防止ハブの導入で中山常務からコメントをいただきましたが、
「1×1000の仕事」をもっとやって、組織として成果を出せる環境を創りたい。
今日から人事本部2年目!
最大のメリットを活かすことを意識して、一年目以上に活躍して目立つ。
そして、やることひとつひとつに遊び心(付加価値)を忘れない。
もちろん先にある「世界レベルのWebサービスを創る」というのも視野に入れて・・・
早いものですね・・・
思い返せば一年前、衝撃の配属を言い渡され、愕然としたのを思い出します。
もともとエンジニア採用として入社をしたので、
当然、入社をしたら何かしらのWebサービスの開発に携わると思っていたし、
主軸サービスである「ブログ」の大規模システムをイジリたいと思っていました。
ただ単に「ブログが好きだからブログをやりたい」という訳ではなく、
「ブログ」という【何にでも応用出来るWebシステム】に携わることで、
大規模サービスの構築技術、及びエンジニアとしてのコア技術が身につく。
それがエンジニアキャリアの一歩目として、一番有益だと思って選んだ道でした。
「後々あれをしたいから、いまこれをやる」
というようにザックリとした計画を立てて、これまで行動してきました。
もちろんこの会社に入社を決めたのも、後々の計画の途中であるわけで、
自分の思い描いてきた理想の流れが、直前でひっくり返えされた気がしました。
配属されてみると、全社のネットワーク/システムを管理する部署で、
一般的には「情報システム部」と呼ばれるような仕事をする部署でした。
ネットワーク周りの仕事ということで、
新卒のエンジニアである自分がたったひとり人事本部に配属され、嬉しかったけど、
配属後1ヶ月くらいは、当然「システム開発」をしたいという思いが強く、
トレーナーのN島さんにとても厳しく育てていただきながらもやはり若干悩んでいました。
「みんなには気付かれないけど、
普通に仕事ができるのは僕達がしっかり環境を創っているからです。」by An在
開発部署から希望して異動してきたAn在さんからネットワークについて、
いろいろと教えてもらうことで、インフラの重要性や楽しさを理解するようになり、
いつの間にか、いまの仕事に誇りをもって取り組めるようになった気がします。
オフィス移転という大きなプロジェクトをメインで任されたこともポイントのひとつでしょう。
新ビルのネットワーク構築、電話構築、プリンタなどのインフラを丸ごとやりました。
相当なボリュームで潰されそうになりましたが、
そのインフラ丸ごとやった経験が自分のキャパシティや知識の幅を大きく広げることにつながり、
いまでは、自分の最大の武器となっています。
一年を通して考えてみると、
当初、自分が拘っていた「システム開発」のスキルはついてないけど、
全社のネットワークを支えるネットワーク機器やサーバ、各種システムなどの
情報システム管理者としてのスキルやネットワークエンジニアスキル、
そして、プロジェクトマネジメントスキルは確実に身に付いてると思います。
思い描いていた理想のルートでは無いけれど、【全力遠回り】で全体知識が付きました。
この部署の最大のメリットは、
中山常務、曽山役員のすぐ近くで、グループ全体を対象として働けるということ。
先日の障害防止ハブの導入で中山常務からコメントをいただきましたが、
「1×1000の仕事」をもっとやって、組織として成果を出せる環境を創りたい。
今日から人事本部2年目!
最大のメリットを活かすことを意識して、一年目以上に活躍して目立つ。
そして、やることひとつひとつに遊び心(付加価値)を忘れない。
もちろん先にある「世界レベルのWebサービスを創る」というのも視野に入れて・・・