Database Engineering Meetup #1 DBアーキテクチャの比較と選択 Cloud-native storage service for bulk load & random lookup workload https://scalar.connpass.com/event/298887/
![DBアーキテクチャの比較と選択](https://cdn-ak-scissors.b.st-hatena.com/image/square/6a59ffbad36041379ccd9e540afac87cd42274c6/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fa12a35cccc66404890120dfe615de10b%2Fslide_0.jpg%3F28263990)
エンジニアの佐野です。今日はカンムの決済システムでユーザの残高管理をどうやっているかについて書きます。 カンムの製品であるバンドルカードはプリペイド方式のカードです。ユーザによる入金、店舗での利用、運営事由の操作などによりユーザの残高が増減します。このような残高の管理について単純に考えると user_id と balance と updated_at あたりをもったテーブルを用意して balance と updated_at を更新していく方法があるかもしれません。しかしながらカンムでは残高を管理するテーブルを持たず、これらイベントの履歴のみで残高を管理しています。以下、本記事ではこれらユーザの残高が増減するイベントのことをトランザクションと呼びます。ここでは DB の Transaction Processing を意味しません。 本記事のポイントは 残高を管理をするテーブルは作らず、ト
SchemaSpyというDBのスキーマを解析してテーブルの一覧やER図を出力してくれるツールがあります。 このツールの公式Dockerイメージが公開されており、非常に使いやすいので紹介させて頂きます。 https://hub.docker.com/r/schemaspy/schemaspy/ コマンド docker run -v "$PWD/schema:/output" --net="host" schemaspy/schemaspy:snapshot \ -t <DB種類> -host <DBホスト名/IP>:<ポート> -db <DB名> -u <DBユーザー名> -p <DBパスワード> このコマンドを実行するとカレントディレクトリのschemaディレクトリに解析結果のHTMLが出力されます。 (コンテナは自動的に終了します) docker run のオプション -vオプションで指
SQL Server 2017ではグラフオブジェクト対応、過去の処理から学んで自己チューニングするAdaptive Query Processing、SQLクエリにPythonやRを組み込めるなどの新機能を備えています。Windows版とDocker対応を含むLinux版が同時にリリース予定です。リリース時期は未定。 グラフオブジェクトとクエリに対応したことで、ソーシャルネットワークの分析やIoTネットワークのモデリングなど、これまでのリレーショナルデータベースでは困難だった処理が容易になります。 ストアドプロシージャでディープラーニングを実行可能に 新機能のなかでも最大の特徴は、SQLクエリにPythonを組み込むことが可能になり、ストアドプロシージャのなかでTensorFlowやCNTKといったディープラーニングライブラリが実行可能になったことです。 マイクロソフトはSQL Serve
ここに書くことによって途中でやめられなくするメソッドです。 ハッカーニュースを眺めていたら以下のようなCS系講義動画のまとめリポジトリが流れていました。 GitHub - Developer-Y/cs-video-courses: List of Computer Science courses with video lectures. へーっと思いながら何個かポチってみたところ以下に出くわしました。 15721.courses.cs.cmu.edu 英語が(自分にとって)聞き取りやすく、動画の品質(画質やスライドがちゃんと見えるかどうかといった部分)も良いものでかつ興味のある内容で出来ればスライドもおしゃれで・・・となるとなかなか少ないですが、これはかなり見やすいです。 スライドも概念図が頻繁に登場したりして、これだけでも聞き取れなかった部分などをかなり補完できます。 スケジュールページ
これまでに、(主に)Amazon Redshiftで活用出来るGUIツールとして『Intellij IDEA Ultimate Edition』や『Aginity』等を紹介して来ましたが、Intellij IDEAを開発しているJetBrain社から別種のDB関連ツールが開発されているという情報を先日知りました。 Amazon RedshiftのMac OS X向けGUIツールとして『Intellij IDEA Ultimate Edition』のDatabase Toolsを使う | Developers.IO Redshift専用 Windows GUIツール『Aginity Workbench for Amazon Redshift』が便利かもしれない件 | Developers.IO それがこの『0xDBE』と呼ばれるものになります。アナウンス自体は1年以上前からなされていた様で、
最近データベースというかSQLについて勉強しているんですが、奥が深いですね。この前の第9回中国地方DB勉強会のときに聞いたrank関数を使って、ランキング機能をリファクタリングしよう!と思って最近頑張ってます。というのも、複雑なクエリ(遅い)を業種数分(10回くらい)呼んでいたため、Herokuだと結構ギリギリの速度になることもあったので、なんとかしなければ!と思っていたのです。 とりあえず、私の開発環境を載せておきます。 Mac Yosemite Ruby 2.2 Rails 4.2.1 PostgreSQL 9.3.4 ひとまずrank関数を使うところまで まず、NewRelicを使ってActiveRecordが出力しているSQLを取得し、それを0xDBEのコンソールに貼り付けて、rank関数を使って業種でパーティションしてランキングを出すところまでしてみました。rank関数は、関数名
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます グローバルでのリレーショナルデータベース製品市場は、Oracle、IBM、Microsoftが“ビッグスリー”として7割以上のシェアを占める。これらにSAPを加えた企業群は、Gartnerが公表している各ベンダーに対する市場での総合評価「マジッククアドラント」でも「リーダー」として評価されている。 この「マジッククアドラント」のオペレーショナルデータベース管理システム部門で、2014年になって新たに「リーダー」の評価を受けた企業にEnterpriseDBがある。同社は、オープンソースデータベース「PostgreSQL」のディストリビューターとして、Oracle Databaseとの互換機能を持つ「Postgres Plus Advanc
オープンソースのバルクデータローダー「Embulk」登場。fluentdのバッチ版、トレジャーデータが支援 何ギガバイトもあるCSVをデータベースに読み込ませるようなバルクデータをバッチ処理するためのツール「Embulk」がオープンソースで公開されました。 コミッターとして開発しているのは、ログ収集ツールとして知られるfluentdなどの開発者として知られる古橋貞之氏、西澤無我氏、中村浩士氏らで、3人が所属するTreasure Dataも開発を支援しています。 古橋氏はEmbulkについて「簡単に言うとfluentdのバッチ版です」と説明。1月27日に行われた「データ転送ミドルウェア勉強会」で、Embulkの紹介を行いました。 Embulkはプラグインベースのバルクデータローダー 古橋氏はまず、例えばCSVファイルをPostgreSQLに読み込ませようとすると、CSVの日付のフォーマットが
(Last Updated On: 2018年8月13日)PostgreSQL Advent Calender 2013、13日目のエントリです。 表題の通り「タグ検索するならPostgreSQLで決まり!」です。 追記:JSONの場合はPostgreSQLのJSONB型を利用してタグ検索を行うを参照 RDBはタグが苦手 WebアプリではRDBでは取り扱いづらいデータを取り扱う事がよくあります。タグの管理・検索はその一つです。 RDBはタグ情報の管理・検索をしっかりやれますが、どちらかと言うと苦手な分野です。しかし、PostgreSQLの 配列 GIN(Generalized Inverse Index – 転置インデックス) を使うと簡単かつ高速に処理できます。 PostgreSQLを使うとタグ検索が簡単・高速に実現できますが、Googleで「タグ検索 PostgreSQL」と検索しても
リレーショナルモデルを実践するには、ドメイン(≒データ型)を如何に正しく設計するかということが極めて重要になる。しかしながら、ドメインをどう設計すべきかという議論はあまりされていないように思う。その結果、ドメインについての理解はあまり進まず、データベース設計に失敗しているパターンが多いように思われる。 というわけで今日のテーマはドメインである。 集合を定義するリレーショナルモデルにおけるデータ型とは何か。リレーショナルモデルを実践するにはまずその点から理解する必要がある。 リレーショナルモデルでは、データ型はドメインと呼ばれる。ドメインとは、その属性(≒カラム)に入るべき値はどういったものかを集合として定義したものだ。言い換えると、属性値とはある集合の要素の一つであると言える。従って、ドメインを設計する際には、SQLで言うところのデータ型、つまりINTやCHARといったものだけでなく、その
本日、qpstudyで「データベースとは」という内容について、そして「リレーショナルモデルとは」という内容について話す機会を頂いた。リレーショナルモデルという硬い内容であったにも関わらず、出席者の皆さんには最後まで良い反応をして頂けたように思う。実はリレーショナルモデルについて誤解している、あるいは知らない人が本当に多い、そして良い解説書がないということを普段問題として感じており、そういった背景から今回qpstudyの話を引き受けさせて貰った。今回発表した内容が皆さんのお役に立てば幸いである。 発表の内容はほぼ現在WEB+DB PRESSで連載している「理論で学ぶSQL再入門」のいくつかの回のものを要約したものになっている。連載ではさらに詳しい内容について説明しているので、興味のある人はぜひWEB+DB PRESSのバックナンバー(連載はVol.68〜)を購入して頂きたい。 本日発表したス
WEB+DB PRESSの総集編頂きました。記事も書かせて頂きました pic.twitter.com/Q2G3l8yZbH — masahiro nagano (@kazeburo) June 21, 2013 WEB+DB PRESS総集編[Vol.1~72]の書き下ろし特集「今,Web開発者に必要な知識」に記事を書かせて頂きました。内容はインフラですが、ハードウェアの話はあまりせず、クラウドやChefなどソフトウェアによってインフラを制御する話題を中心に書きました。 WEB+DB PRESS総集編[Vol.1~72]:書籍案内|技術評論社 http://gihyo.jp/book/2013/978-4-7741-5783-2 特集の目次は次のようになってます これからエンジニアとして働く人へ 今,Web開発者に必要な知識 第1章:Webアプリケーションの全体像──それぞれの役割をきちん
はい、おつカレー様です。くわのです。 羅針盤だ。とかカッコイイ(そうでもない)事を言ってみた(ドヤァ オーム社さまから出版されております、『7つのデータベース 7つの世界』を献本いただきました! オーム社さま、@kdmsnr さんありがとうございました! そこで、ちょっと遅れてしまいました(スイマセン(´Д⊂)が、感想などを書かせて頂きました。 どんな本? まず、この本がどんな本か。というのが気になる所だと思います。 自分はこの本に対して、 「データベースと言われているソフトウェアたちがどのようなアーキテクチャで動いているかを知ることによって、適材適所を見つけるためのインデックス」 と理解しました。 内容 この本ですが、その名前の通りに7つのデータベースについて説明していきます。 PostgreSQL Riak HBase MongoDB CouchDB Neo4J Redis 各データ
監訳の一人である @t_wada に献本頂きました。 ありがとうございます!!! でだ、いきなりだけどコレ、タイトルで損してると思うんだよね…… だって、SQL のアンチパターンてタイトルだったら、 join した結果の方で where で絞るよりも on 句で先に絞れ 的なのが書いてあると思うじゃん!! 問い合わせ言語の事だと思うじゃん!!! 違った…… ほとんど書いてあるのは DB 設計についてだった…… まぁ、副題は「Avoiding the Pitfalls of Database Programming」のだし、まぁいいか。 んで、読んでみた感想とか もうね、何年か DB 絡んだ開発したことのある人なら(・∀・)ニヤニヤ出来ると思う。 「”マルチカラムアトリビュート”とか 10 年前に通ったわー」 とか 「あーはいはい”インデックスショットガン”乙」 みたいな。 Explain
リレーショナルデータベースの父、エドガー・F・コッド氏が論文を発表したのは1970年。私が生まれる前の話である。そしてSQLがANSI標準になったのが1986年。RDBMSを、そしてSQLを使ったシステム開発は常に主流で在り続けたと言っても過言ではない。そんな歴史のあるSQLであるが、未だに多くの人はSQLを使いこなせて居ないように見える。 SQLはとても奥が深い。ソートやトランザクションが使用出来るおかげで、リレーショナルモデルを無視して単なるデータの入れ物として使ってもそれなりに便利だったりする。だが、それが今現在多くの悲劇を生んでいる原因でもある。多くの人が同じようにSQLを理解せず、そのため多くの人が同じ悲劇に見舞われる。そう、それがアンチパターンである! 今回紹介するSQLアンチパターンは、洋書SQL Antipatternsの邦訳版だ。私は元々英語版のファンでであり、人々が陥り
(PgDay2012発表資料) SQLにとって、なぜO/Rマッパーが重要かを説明した資料です。Read less
3人のペルソナからスキルの伸ばし方を考える これまで、スキルの定義、年数に応じたスキルレベル、職種や所属会社による違いを説明してきました。そうすると次に興味が湧いてくるのが、スキルの伸ばし方ではないでしょうか。 マーケティングの世界では「ペルソナ」と呼びますが、データを基に架空のユーザを想定して、商品やサービスを設計する方法があります。じつは執筆でもこのようなことを行います。 今回は、以下の3人のペルソナを定義して、スキルアップのポイントを紹介します。 Aさん(若手で情報システム部に所属) Bさん(中堅で運用部門に所属) Cさん(データベースの派遣エンジニア) 若手で情報システム部に所属するAさんへのアドバイス Aさんは、情報システム部に所属する20代前半のエンジニアです。データベースの経験は2年程度です。以下のような悩みを持っています。 社内調整ばかりで、本当に役に立っているのか実感が持
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く