SlideShare a Scribd company logo
1 of 18
Download to read offline
ActiveHash
イェーイ!
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
Elixir書いてます
⽇本の休⽇ {:holiday_jp, "~> 0.2.2"}
ちゃんと動く優先度附きキュー {:pqueue2, "~> 0.1.0"}
Streamを圧縮/伸⻑ {:stream_gzip, "~> 0.1.0"}
Streamのhash値を計算 {:stream_hash, "~> 0.1.0"}
標準Lint集 {:inner_cotton, github: "ne-sachirou/inner_cotton", only:
[:dev, :test], runtime: false}
ActiveHash
ActiveRecord == べんり
マスターデータ V.S. ユーザーデータ
マスターデータ V.S. ユーザーデータ
ソーシャルゲームのマスターデータは↓
數週間に⼀回等、偶にしか更新しない。
⼀元して更新を制御出來る。
所詮は各テーブル數萬件しか無い。
Readが凄く多い。
マスターデータ V.S. ユーザーデータ
ソーシャルゲームのマスターデータは↓
數週間に⼀回等、偶にしか更新しない。
⼀元して更新を制御出來る。
所詮は各テーブル數萬件しか無い。
Readが凄く多い。
↓
Memoryに持ってしまえ
ActiveHash
gem 'active_hash'
ActiveHash
on memoryなKVS
ActiveHash
sample1:
id: 1
name: sample
class Sample < ActiveYaml::Base
end
Sample.find 1
ActiveHash
出來る事↓
⾼速にfindする
find_by, where
belongs_to, has_many
create, save, delete_all (on memory)
FactoryGirl
ActiveHash
出來ない事↓
join
index
⾼速なfind_by, where
JSONに無い型でJSONから讀み込む
polymorphic
STI (Single Table Inheritance)
ActiveHash
出來ない事↓
join
index
⾼速なfind_by, where
JSONに無い型でJSONから讀み込む
polymorphic
STI (Single Table Inheritance)
なので出來る樣にしました。
ActiveHash
class Sample < ActiveHashExt::Base
column :id, :integer, comemnt: “ID”
column :name, :string, comment: “名前”
column :start_at, :datatime, comment: “開始時刻”
end
Sample.find_by name: “Ruby”
イェーイ!

More Related Content

What's hot

elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみたelasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみたfurandon_pig
 
R以外の研究ツール
R以外の研究ツールR以外の研究ツール
R以外の研究ツール弘毅 露崎
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)hiboma
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバShinsuke Sugaya
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOKohei Noda
 
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方Shinsuke Sugaya
 
Go と Couchbase で microservices を作るには?
Go と Couchbase で microservices を作るには?Go と Couchbase で microservices を作るには?
Go と Couchbase で microservices を作るには?Yusuke Komatsu
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理博文 斉藤
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようmax747
 
Zshって最強らしい
Zshって最強らしいZshって最強らしい
Zshって最強らしいngi group.
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Satoshi Kume
 
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfChef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfMasahiro NAKAYAMA
 

What's hot (17)

elasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみたelasticsearchソースコードを読みはじめてみた
elasticsearchソースコードを読みはじめてみた
 
R以外の研究ツール
R以外の研究ツールR以外の研究ツール
R以外の研究ツール
 
200k/sec
200k/sec200k/sec
200k/sec
 
Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)Sqale の Puppet と Chef (と テスト)
Sqale の Puppet と Chef (と テスト)
 
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバElasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
 
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DOWebAppDev勉強会 #2 at cafe? IKAGAWA DO
WebAppDev勉強会 #2 at cafe? IKAGAWA DO
 
Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方Elasticsearchプラグインの作り方
Elasticsearchプラグインの作り方
 
Go と Couchbase で microservices を作るには?
Go と Couchbase で microservices を作るには?Go と Couchbase で microservices を作るには?
Go と Couchbase で microservices を作るには?
 
Okinawapm#3
Okinawapm#3Okinawapm#3
Okinawapm#3
 
お手軽並列処理
お手軽並列処理お手軽並列処理
お手軽並列処理
 
Fabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしようFabricでサーバー管理をDRYにしよう
Fabricでサーバー管理をDRYにしよう
 
MongoDBの使い方
MongoDBの使い方MongoDBの使い方
MongoDBの使い方
 
Zshって最強らしい
Zshって最強らしいZshって最強らしい
Zshって最強らしい
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
 
Mac_Terminal_ver1.0
Mac_Terminal_ver1.0Mac_Terminal_ver1.0
Mac_Terminal_ver1.0
 
Chef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + BerkshelfChef Howto with Vagrant + Berkshelf
Chef Howto with Vagrant + Berkshelf
 

More from Sachirou Inoue

發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠Sachirou Inoue
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學Sachirou Inoue
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道Sachirou Inoue
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghettiSachirou Inoue
 
Why we update our oss dependencies.
Why we update our oss dependencies.Why we update our oss dependencies.
Why we update our oss dependencies.Sachirou Inoue
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたちSachirou Inoue
 
ElixirでNode.jsを倒す
ElixirでNode.jsを倒すElixirでNode.jsを倒す
ElixirでNode.jsを倒すSachirou Inoue
 
大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?Sachirou Inoue
 
最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作る最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作るSachirou Inoue
 

More from Sachirou Inoue (20)

Elixir on Containers
Elixir on ContainersElixir on Containers
Elixir on Containers
 
發言の超越論的な根拠
發言の超越論的な根拠發言の超越論的な根拠
發言の超越論的な根拠
 
faastCrystal
faastCrystalfaastCrystal
faastCrystal
 
人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學人工言語作成を樂しむ者の爲の言語學
人工言語作成を樂しむ者の爲の言語學
 
人工言語を作るゆるやかな道
人工言語を作るゆるやかな道人工言語を作るゆるやかな道
人工言語を作るゆるやかな道
 
FaaStRuby
FaaStRubyFaaStRuby
FaaStRuby
 
DI is for us?
DI is for us?DI is for us?
DI is for us?
 
How to make a spaghetti
How to make a spaghettiHow to make a spaghetti
How to make a spaghetti
 
Why we update our oss dependencies.
Why we update our oss dependencies.Why we update our oss dependencies.
Why we update our oss dependencies.
 
Test like a team.
Test like a team.Test like a team.
Test like a team.
 
Phoenix at scale
Phoenix at scalePhoenix at scale
Phoenix at scale
 
Vivaldi #cd3437
Vivaldi #cd3437Vivaldi #cd3437
Vivaldi #cd3437
 
外傷的Elixir
外傷的Elixir外傷的Elixir
外傷的Elixir
 
勝手に作ったものたち
勝手に作ったものたち勝手に作ったものたち
勝手に作ったものたち
 
竝行
竝行竝行
竝行
 
boilerplate react
boilerplate reactboilerplate react
boilerplate react
 
ElixirでNode.jsを倒す
ElixirでNode.jsを倒すElixirでNode.jsを倒す
ElixirでNode.jsを倒す
 
大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?大勢でピンポンできるのは、だれ?
大勢でピンポンできるのは、だれ?
 
最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作る最速で最速のRuby擴張を作る
最速で最速のRuby擴張を作る
 
J言語を讃えた
J言語を讃えたJ言語を讃えた
J言語を讃えた
 

ActiveHash