SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
足を地に着け、落ち着いて考える
玉川竜司@Sky
本日の内容
• 少しだけ自己紹介
• 基本を抑えよう
• 新しい技術を取り入れよう
• デバイスに興味を持とう
• エンジニアの気持ち
少しだけ自己紹介
• 大阪のソフトウェア開発企業

(Sky株式会社)勤務。
• 本職の技術はデータベース中心。

パフォーマンスチューニング大好き。
• Webの情報はとても有益ですが、手間
をかけてまとめられた書籍を読むことの
価値も変わってはいないと考えています。
• ということで、技術書翻訳やってます。
• ビッグデータ、ソフトウェア開発に関す
る本が中心。
今年の本
7月 8月 年内
既刊書の一部
基本を抑えよう
いわゆる教科書的な知識
• 計算量の理論や基本のデータ構造、アルゴリズム
• リレーショナルデータモデル
• コンピュータのアーキテクチャ
• TCP/IPの仕組み



などなど・・・簡単には変わらない、長持ちする知識
APIは高レベルでも
• 下位の実装の性格は必ずにじ
み出てきます
• 実装に使われているデータ構
造やアルゴリズム、デバイスの
特性は把握しておく
• 抽象化されたAPIを提供した
り、利用したりするのはもち
ろん良いこと
• しかし下位のことを忘れてい
いわけではない
foo[n]=…
挿入、更新、削除、検索の
計算量は?
メモリの消費は?
APIは高レベルでも
• 下位の実装の性格は必ずにじ
み出てきます
• 実装に使われているデータ構
造やアルゴリズム、デバイスの
特性は把握しておく
• 抽象化されたAPIを提供した
り、利用したりするのはもち
ろん良いこと
• しかし下位のことを忘れてい
いわけではない
SELECT …

WHERE …
「古典」を読みましょう!
新しい技術を取り入れよう
新しい技術はカウンターパンチ
• 2000年頃「とりまリレーショナルデータベース」
• 2005年頃「リレーショナルデータベースってスケールし
ないんじゃ?」
• 2010年頃「NoSQLならなんぼでもスケールする
ぜぇぇ」「Hadoop最高」
• 2015年頃「やっぱSQLいいよね」
One size doesn’t fit all
• Stonebrakerさんのお言葉
• 技術の長所、短所が自分の仕事にどう影響するかはケースバイケース
• 本プレゼンで取り上げる例もあくまで1つの側面に過ぎません。それぞれの技
術者は、それぞれの状況に応じたものの見方ができなければなりません
• 新たな長所を持つ技術を取り入れることは、多くの場合新たな短所
を受け入れることでもある
• 「とりま」が通用しなくなったことこそ本質。
新しい技術をきちんと理解する
• なぜその新しい技術が登場したのか
• どういった領域をターゲットとして登場したのか
• その新しい技術を取り入れることによるマイナスは何か
• こういったことを理解するためにも、基本を抑えておく
ことが非常に大切
新しい技術をきちんと理解する
• なぜその新しい技術が登場したのか:スケーラビリティ
• どういった領域をターゲットとして登場したのか:Web
界隈。比較的単純なデータ構造で、トランザクションへ
の要求が低い
• その新しい技術を取り入れることによるマイナスは何か
:データの整合性の担保の難しさ。長期的なメンテナン
ス性などなど 
NoSQLの場合
新しい技術をきちんと理解する
• なぜその新しい技術が登場したのか:MapReduceが遅
いから。特にI/Oが多いため
• どういった領域をターゲットとして登場したのか:イン
タラクティブな処理、イテレーティブな処理の高速化
• その新しい技術を取り入れることによるマイナスは何か
:成熟度の低さ、運用の難しさ(メモリまわり)
Sparkの場合
(ちょっと宣伝はいります)読書の薦め
• まとまった情報に一通り目を通すことは大事です
• 自分の現状の技術の観点で即断すると、新しい技術に対して
ネガティブになりがち
• 背景や要求事項が変化していないか?これまでの世界ではデ
メリットに見えることが、変化した世界ではそもそも問題に
ならなかったりはしないか?
• いったんきっちり、その技術の「ルール」をきちんと受け入
れてみるためにも、まとまった書籍は有効です
デバイスに興味を持とう
Thinking Low-Level, Writing
Hight-level
• どんなプログラムでもデバイスの
制約から逃れることはできない
• 逆に、新しいデバイスの登場がゲー
ムチェンジにつながることは多々
ある
• この5年ではメモリ単価の低下と
SSDの登場。
• 次の5年はストレージ/メモリ層の
変化?
NoSQLの場合
データ量
複雑さ
RDB
ファイル
NoSQLの場合
データ量
複雑さ
RDB
ファイル
NoSQL
インターネットの普及、「ビッグデータ」ブーム
NoSQLの場合
データ量
複雑さ
RDB
ファイル
NoSQL
デバイスの変化(メモリの増大、マルチコア)
クラスタリングの一般化
Hadoopエコシステムの例
• もともとはハードディスクの性能問題への対応という面が大きかった
• https://youtu.be/vu0n_86GiJo
• 大ききな単位でディスクアクセスすることによって、バッチ処理の性能を大
きく向上させた
• 後に、大容量のメモリを使うことでランダムアクセス系のデータ処理にも対
応(HBaseなど)
• さらに、メモリをうまく活用できる汎用の処理系として出てきたのがSpark
• SSDのバイト単価がもっと下がると、また大きな変化が起こるかも
エンジニアの気持ち
地道な成長と一足飛びの成長
成果
時間
地道な改善
一足飛びの改善
地道な成長と一足飛びの成長
成果
時間
地道な改善
周りの人の注目
保守的な成長と一足飛びの成長
このあたりまではサボっ
てるように見えたりする
この時点では

ヒーローっぽい成果
時間
保守的な成長と一足飛びの成長
努力
時間
でも継続的な努力が必要なのは
どちらでも一緒
保守的な成長と一足飛びの成長
努力
時間
地味な調査期
成果が
見える
時期
地味な調査期
保守的な成長と一足飛びの成長
努力
時間
地味な調査期
成果が
見える
時期
地味な調査期
やっている本人は(もしかしたら)しんどい時期
周りはやんわり見守ってあげてほしい時期
でも、
新しいことへのチャレンジは楽しいです
まとめ
• 基礎をおさえて
• 新しいことにも興味をしっかり持って
• 地道に努力を続けましょう
ご清聴ありがとうございました。

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdfわたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
 
不揮発性メモリ(PMEM)を利用したストレージエンジンの話 #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ
不揮発性メモリ(PMEM)を利用したストレージエンジンの話  #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ不揮発性メモリ(PMEM)を利用したストレージエンジンの話  #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ
不揮発性メモリ(PMEM)を利用したストレージエンジンの話 #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装Slurmのジョブスケジューリングと実装
Slurmのジョブスケジューリングと実装
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
分散ワークフローエンジン『Digdag』の実装 at Tokyo RubyKaigi #11
分散ワークフローエンジン『Digdag』の実装 at Tokyo RubyKaigi #11分散ワークフローエンジン『Digdag』の実装 at Tokyo RubyKaigi #11
分散ワークフローエンジン『Digdag』の実装 at Tokyo RubyKaigi #11
 
Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身Amazon Aurora - Auroraの止まらない進化とその中身
Amazon Aurora - Auroraの止まらない進化とその中身
 
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツ
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント
日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント
日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
20190206 AWS Black Belt Online Seminar Amazon SageMaker Basic Session
 
インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編インフラ廻戦 品川事変 前夜編
インフラ廻戦 品川事変 前夜編
 
Glue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようGlue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみよう
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 

Ähnlich wie 足を地に着け落ち着いて考える

20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
Takahiro Iwase
 

Ähnlich wie 足を地に着け落ち着いて考える (20)

Apache Sparkの紹介
Apache Sparkの紹介Apache Sparkの紹介
Apache Sparkの紹介
 
非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長
 
20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート20190517 Spark+AI Summit2019最新レポート
20190517 Spark+AI Summit2019最新レポート
 
What i learned from translation of the sre ryuji tamagawa
What i learned from translation of the sre ryuji tamagawaWhat i learned from translation of the sre ryuji tamagawa
What i learned from translation of the sre ryuji tamagawa
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
広告ログの解析システム
広告ログの解析システム広告ログの解析システム
広告ログの解析システム
 
アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)機械学習ビジネス研究会(未踏研究会)
機械学習ビジネス研究会(未踏研究会)
 
20190213 Cloud-Native StorageとDatabase on Kubernetesの良い関係
20190213 Cloud-Native StorageとDatabase on Kubernetesの良い関係20190213 Cloud-Native StorageとDatabase on Kubernetesの良い関係
20190213 Cloud-Native StorageとDatabase on Kubernetesの良い関係
 
【アイディア止まり】Ozobotでデータサイエンス~天気予報ロボットを作ろう~
【アイディア止まり】Ozobotでデータサイエンス~天気予報ロボットを作ろう~【アイディア止まり】Ozobotでデータサイエンス~天気予報ロボットを作ろう~
【アイディア止まり】Ozobotでデータサイエンス~天気予報ロボットを作ろう~
 
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
 
AWS朝会2022/1 セッション① 数年間、レイクハウスを設計運用してみた
AWS朝会2022/1	セッション① 数年間、レイクハウスを設計運用してみたAWS朝会2022/1	セッション① 数年間、レイクハウスを設計運用してみた
AWS朝会2022/1 セッション① 数年間、レイクハウスを設計運用してみた
 
hbstudy 74 Site Reliability Engineering
hbstudy 74 Site Reliability Engineeringhbstudy 74 Site Reliability Engineering
hbstudy 74 Site Reliability Engineering
 
Python勉強会 2015-12-02
Python勉強会 2015-12-02Python勉強会 2015-12-02
Python勉強会 2015-12-02
 
20140418 info talkセミナー資料
20140418 info talkセミナー資料20140418 info talkセミナー資料
20140418 info talkセミナー資料
 
ソフトウェアとは
ソフトウェアとはソフトウェアとは
ソフトウェアとは
 
Rデータ入力編
Rデータ入力編Rデータ入力編
Rデータ入力編
 
Drupal si 20160704
Drupal si 20160704Drupal si 20160704
Drupal si 20160704
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 

Mehr von Ryuji Tamagawa

20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
Ryuji Tamagawa
 

Mehr von Ryuji Tamagawa (20)

20171012 found IT #9 PySparkの勘所
20171012 found  IT #9 PySparkの勘所20171012 found  IT #9 PySparkの勘所
20171012 found IT #9 PySparkの勘所
 
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
20170927 pydata tokyo データサイエンスな皆様に送る分散処理の基礎の基礎、そしてPySparkの勘所
 
PySparkの勘所(20170630 sapporo db analytics showcase)
PySparkの勘所(20170630 sapporo db analytics showcase) PySparkの勘所(20170630 sapporo db analytics showcase)
PySparkの勘所(20170630 sapporo db analytics showcase)
 
20170210 sapporotechbar7
20170210 sapporotechbar720170210 sapporotechbar7
20170210 sapporotechbar7
 
20161215 python pandas-spark四方山話
20161215 python pandas-spark四方山話20161215 python pandas-spark四方山話
20161215 python pandas-spark四方山話
 
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
20161004 データ処理のプラットフォームとしてのpythonとpandas 東京
 
20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌20160708 データ処理のプラットフォームとしてのpython 札幌
20160708 データ処理のプラットフォームとしてのpython 札幌
 
20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark20160127三木会 RDB経験者のためのspark
20160127三木会 RDB経験者のためのspark
 
20151205 Japan.R SparkRとParquet
20151205 Japan.R SparkRとParquet20151205 Japan.R SparkRとParquet
20151205 Japan.R SparkRとParquet
 
Performant data processing with PySpark, SparkR and DataFrame API
Performant data processing with PySpark, SparkR and DataFrame APIPerformant data processing with PySpark, SparkR and DataFrame API
Performant data processing with PySpark, SparkR and DataFrame API
 
ヘルシープログラマ・翻訳と実践
ヘルシープログラマ・翻訳と実践ヘルシープログラマ・翻訳と実践
ヘルシープログラマ・翻訳と実践
 
Google Big Query
Google Big QueryGoogle Big Query
Google Big Query
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
 
You might be paying too much for BigQuery
You might be paying too much for BigQueryYou might be paying too much for BigQuery
You might be paying too much for BigQuery
 
Google BigQueryについて 紹介と推測
Google BigQueryについて 紹介と推測Google BigQueryについて 紹介と推測
Google BigQueryについて 紹介と推測
 
lessons learned from talking at rakuten technology conference
lessons learned from talking at rakuten technology conferencelessons learned from talking at rakuten technology conference
lessons learned from talking at rakuten technology conference
 
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
丸の内MongoDB勉強会#20LT 2.8のストレージエンジン動かしてみました
 
Mongo dbを知ろう devlove関西
Mongo dbを知ろう   devlove関西Mongo dbを知ろう   devlove関西
Mongo dbを知ろう devlove関西
 
Seleniumをもっと知るための本の話
Seleniumをもっと知るための本の話Seleniumをもっと知るための本の話
Seleniumをもっと知るための本の話
 
データベース勉強会 In 広島 mongodb
データベース勉強会 In 広島  mongodbデータベース勉強会 In 広島  mongodb
データベース勉強会 In 広島 mongodb
 

足を地に着け落ち着いて考える