Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/Read less
Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/Read less
CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応 SQL文を直接書かなくとも、自動的にSQL文を生成、実行してくれるORM(Object-Relational Mapper)は、プログラミングを容易にしてくれる技術としてRailsやHibernate、Springなどさまざまなフレームワークなどで活用されています。 一方で、ORMが生成するSQL文はときに複雑に、あるいは非効率なものとなり、データベース処理の遅さにつながることもあります。 このとき、SQL文の生成と実行を明示的にコードとして記述する必要がないというORMの特徴が、なぜデータベース処理が遅くなったのか、どのようなSQL文が生成され、そのどこに原因があるのか、といった調査を難しくている面があり
はじめに pythonからMySQLを叩く際,何を使っていますか?SQLAlchemy,Django,peeweeあたりを使っている方が多いのではないでしょうか.私は色々使ってみて結局SQLAlchemyに落ち着いていますが,何千万,何億オーダのデータになると処理が遅く非常にやっかいです. なので今回は(大きなデータにsql使うなとか高速処理にpython使うなという話は一旦置いておいて),SQLAlchemyを使ったデータ処理をいかに高速にするか,何項目かに分けて備忘録を残しておきます. SQLAlchemyを~と書いてありますが,SQLAlchemyを使ってDBにデータをINSERT,SELECTする際のpython高速化TIPSごった煮です.本当は記事を分けたほうが良いのですが,自分で見返す際にまとまっているほうが嬉しいのでこうしました. なお,今回使用するコードは全てgithubに
PostgreSQLとMySQL、使うならどっち? データベース専門家が8つの視点で徹底比較! オープンソースのデータベースとしてよく比較されるPostgreSQLとMySQL。どんな長所・短所があるのでしょう? それぞれの専門家による対談で明らかにします。 エンジニアとして働いていると必ず直面する悩み。それは、「どのリレーショナル・データベース(以下、RDB)を選ぶのが最善なのか?」です。 RDBごとに長所と短所は異なっています。そのため自社サービスにマッチしないRDBを選んでしまうと、それがボトルネックとなり開発・運用にトラブルが生じるケースは少なくありません。 なかでもよく比較検討されるのが、PostgreSQLとMySQL。ともにオープンソースRDBのデファクトスタンダードであり、高い性能と数多くの機能を持っています。 では、両者は具体的にどのような長所・短所があるのでしょうか。そ
Webフルスタックエンジニアになるためのチェックリスト Zennでの投稿にあたって この記事は、2020/03/22に自分のgithubリポジトリで公開していた内容を、Zennのgithubリポジトリ連携機能を用いて一般公開したものです。 投稿にあたって、Zennの記事連携フォーマットに準拠する以外の修正は加えておりませんので、一部Zennというプラットフォームの方針や雰囲気に合わない内容などあるかもしれません。あらかじめご了承ください。 はじめに 日本のWeb開発業界で「フルスタックエンジニア」になるために必要な知識を、個人的経験からまとめました。 フルスタックエンジニアの定義ですが、ここでは、 企業で開発リーダー/テックリードとして、Webブラウザアプリケーションを前提としたサービスの立ち上げからリリース、運用まで面倒を見られる。 というロールと仮定し、前提条件としては、どちらかという
要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事でJava + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある
物資難の時代、化学者はカップ酒をビーカー代わりに使った・・・らしい(本文とは関係ありません) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小本です。 SQLAlchemyはPythonのSQLライブラリのデファクトスタンダードで、エムスリーでも使っていますが、意外と導入の障壁が高い。そこで、とりあえずSQLAlchemyを使い始めるのに必要な情報を調べました。 具体的には生の(文字列の)SELECT文を組み立て、クエリする方法を説明します。 なぜこの記事を書いたか SQLAlchemy の入門記事をググると、 SQLAlchemy は ORM です DBに接続しメタデータを取得します ベースモデルを継承し、モデルを定義し、テーブルと関連づけます といった、 「重い」使い方の記事ばかりがヒットします。そのせいか、 「SQLAlchemyは難しい」 「SQLAlchemyはORM
概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマーの教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が
NoSQLデータモデリング技法.markdown #NoSQLデータモデリング技法 原文:NoSQL Data Modeling Techniques « Highly Scalable Blog I translated this article for study. contact matope[dot]ono[gmail] if any problem. NoSQLデータベースはスケーラビリティ、パフォーマンス、一貫性といった様々な非機能要件から比較される。NoSQLのこの側面は実践と理論の両面からよく研究されている。ある種の非機能特性はNoSQLを利用する主な動機であり、NoSQLシステムによく適用されるCAP定理がそうであるように分散システムの基本的原則だからだ。一方で、NoSQLデータモデリングはあまり研究されておらず、リレーショナルデータベースに見られるようなシステマティック
20年以上前に構築した古い基幹系システムを使い続けるユーザー企業が5社に1社の割合で存在するとされるなか、「枯れた技術」の維持管理に危機が迫っている。枯れた技術としてはCOBOLが有名だが、今回取り上げるのは別の技術だ。 リレーショナルデータベース(RDB)である。とりわけ最大シェアを誇る米オラクル(Oracle)の「Oracle Database(Oracle DB)」を扱える技術者が足りないとささやかれ始めている。 クラウドシフトとAI人気が原因? 「今まで1度も取引のないユーザー企業からOracle DBに障害が発生したといきなり連絡を受け、復旧作業を頼まれるケースが増えている」。こう証言するのはDBの導入や運用保守を専門とする、日本エクセムの後藤大介CEO(最高経営責任者)だ。 こうした依頼が増えた理由について、後藤CEOは「ユーザー企業が自社システムのクラウド移行を進めた結果、社
読み返してたら滑ってて恥ずかしかったので冒頭の文を消しました。 タイトルでも滑ってるのに2重で滑るのは耐えられません。 今回は @pjxiao が SSHを使いこなしているのを見て悔しかったので自分もちゃんと理解しようと思い記事にしました。 Local forwarding開発者にとってはこれが最も一般的な使い方かなーと勝手に思ってます。 DBや内部システムで使われるサーバではアクセス元制限がかかっていることが多いんですが、動作確認のために接続したくなることはよくあります。 特に開発用のDBのレコードをローカル環境のプログラムで表示したくなるケースはとっても多いです。ね? こんなときに使うのが俗にSSHポートフォワーディングと呼ばれるもので、ローカルに対するアクセスをリモートに受け流す方法です。 (以降はローカルフォワーディングとか、単にフォワーディングという) L option具体的には
会社のBlogにも書いたのですが、ISUCON 8 予選で負けてきました。 さて、 ISUCON の初期実装の定番として、初心者が書いたようなSQLやコードになっている点が挙げられます。 今回の Go の初期実装もその定番にもれず、初心者がやりがちな、Goの良さを殺してしまうコードがありました。 今回負けた反省点の一つとして、アプリの書き換えを二人でやっていたのでコンフリクトを恐れてそのリファクタリングを怠ったというのもあります。 Goで本戦に参加されるチームの方にはぜひこれを克服してもらいたいと思います。 アンチパターン: 長い無名関数 例: https://github.com/isucon/isucon8-qualify/blob/9d7890f5433bdaf2cec75b4cdf1ebd0d9a531281/webapp/go/src/torb/app.go#L404-L492
TutorialHow To Build a Python REST API with Fauna and Deploy it to DigitalOcean App Platform Introduction Many developers don’t have the time or experience to set up and manage infrastructure for their applications. To keep up with deadlines and reduce costs, developers need to find solutions that allow them to deploy their apps to the cloud as quickly and efficiently as possible to focus on writi
はじめまして@shohhei1126です! 2016年1月にリリースされたAmebaFRESH!のサーバサイドを担当しております。 ここ1、2年社内でもGo言語を使うプロジェクトが増えてきているのですが(Go Lang in Cyberagent こちらもどうぞ)AmebaFRESH!でもGo言語をメインに使っています。 今回はGo言語のテストへのアプローチについて考えたいと思います。 テストの書きやすさGoでは言語レベルでテストをサポートしている(https://golang.org/pkg/testing/#pkg-overview)のでテストを書くという敷居は他の言語より低く感じます。実際これまでのプロジェクトの中で一番テストを書いていますし、やっぱりテストがあると安心感ありますね(・∀・) Mock化の難しさテストの取っ掛かりとしての敷居は低いですがデータアクセスまわりのテストを書
最近、SRE になった @b4b4r07 です。今回は、直近のタスクだった社内アプリを Kubernetes に載せ替えた話をします。 前置き メルカリでは全社的 1 に Crowi という Markdown で書ける Wiki アプリケーションをナレッジベースとして採用しています。 site.crowi.wiki 以前は、プロダクトチームは Qiita:Team、コーポレート系は Google Sites と言った具合に、各部署ごとに異なるドキュメントツールを使っていました。これではよくないと、エンジニアに限らず誰でも書きやすく参照しやすい Wiki のようなサービスが必要とされ、Crowi の採用に至りました。 まずはみんなに使ってもらうために広めていこうと、試験的に導入が始まったため、今回の移行話までは 1 台の EC2 インスタンスにアプリケーションサーバと Nginx、Mongo
14. MySQLの⾯倒を⾒る #とは DBに特化した(広義の)インフラデザイン バックアップの頻度, 保管先, ..etc. + その実装- 監視, リソースモニタリング, ..etc. + その実装- mikasafabric for MySQL + MySQL Router- メジャーバージョンアップの検証とか、Percona Serverとか MariaDBとか - DBに特化したショット作業 吊るしの ALTER TABLE 以外を使ったテーブル定義の更新 < 5.6 だったり、テーブルが⼤きすぎてレプリケーションが詰まったりするケース - スロークエリーチューニング- マイナーバージョンアップ- 13/63
データベースのテーブルやビューなどに指定する列名(カラム名、フィールド名)の例を集めてみました。 各データベースの、予約語や使える文字種の制限は、ご自身にてご確認ください。 国際感覚的にかなりあっていない(ただし本稿は国内利用を主として書いています)、スペル間違いや明らかな採用間違い、などがありましたら、是非ご指摘くださいませ。。 住所 (county, district, prefecture, province, region, state) の扱いなど、国際的な利用が前提でしたらWeblioさんを参照してみましょう。 ※私は記法の宗教戦争をしたくありませんので、ご自身のお好みにあわせて変換をしてください(キャメル記法が...スネーク記法が...単数形・複数形など、各チーム・各プロジェクトの規約に合わせてくださいね) #こんなことが大切かと (テーブルやビューの名前と組み合わせれば)そ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く