Escape the network tarpitAutomatically sync your backend database with in-app SQLite. Avoid the complexities of using APIs to move app state over the network.
This article was written in collaboration with Bohan Zhang and originally appeared on the OtterTune website. There are a lot of choices in databases (897 as of April 2023). With so many systems, it’s hard to know what to pick! But there is an interesting phenomenon where the Internet collectively decides on the default choice for new applications. In the 2000s, the conventional wisdom selected MyS
※この投稿は米国時間 2022 年 5 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。 企業は、レガシー データベース システムから解放されたいと悩んでおり、アプリケーションをモダナイズするための代替手段を求めています。本日、Google I/O において、AlloyDB for PostgreSQL のプレビュー版を発表しました。AlloyDB for PostgreSQLは、PostgreSQL と互換性を持つフルマネージド型のデータベースサービスで、極めて要求が厳しいエンタープライズのデータベース ワークロードをモダナイズするための強力な選択肢を提供します。 標準的な PostgreSQL との性能比較テストでは、トランザクション処理で 4 倍以上、分析クエリで最大 100 倍の高速化を実現できていることを確認しています。また、AlloyDB はAm
2022.11.01 技術記事 ProxySQL を利用した Aurora MySQL の課題解決 [DeNA インフラ SRE] by yayohei #infrastructure #sre #database #aws #aurora #mysql #proxysql #stabilization #livestreaming-infrastructure #infra-quality こんにちは、 IT 本部 IT 基盤部第一グループの山本です。 今回は ProxySQL を利用した Aurora MySQL の新規接続の遅延問題の解消方法について紹介したいと思います。 Aurora MySQL のメリット Aurora MySQL のメリットとしては本稿で詳しく語るまでもないですが、Writer の 自動 Failover、Snapshot の取得の容易さ、Storage 故障の
はじめに こんにちは!リンクアンドモチベーションで SRE をしてます川津と申します! Web アプリケーションを開発している皆さん! 日夜性能問題に悩まされていると思います😅 本記事では性能問題における 「CPU 使用率の見方」 に焦点をおいて話そうかと思います! CPU あるある CPU にまつわる謎? は大体次の2ケースかな〜、と思います。 Amazon RDS (MySQL DB) の例で挙げてみます。 ① クエリ応答が遅いからスケールアップ! → あれ?変わらないぞ? Web アプリ開発していると、API 応答が遅い → 原因は重いクエリ (SQL) というケースはよくあるかと思います。当然速度改善したいです。お金で簡単に解決できるならそうしたい。 例えば RDS のインスタンスタイプ db.r5.xlarge を今使っているとしましょう。 vCPU 数は 4 です。これを 2
How Postgres stores data on disk – this one's a page turner Table of Contents I remember when I first started on server-side applications – the kind that need to persist data – and not getting what the big deal about databases was. Why are databases such a big thing? Can’t we just store some data on disk and read / write from it when we need to? (Spoiler: no.) Once I started working with real-life
最近開発しているサービスがだんだん成長してきて、先々を考えるといくつかのサービスに分離したいなーと思いChange Data Capture (CDC)について色々と調べていました。 MySQLでの構築については、この記事DebeziumでCDCを構築してみたがとても丁寧に解説されているのでお薦めです。この記事の解説を参考にしてMySQL+Kafka+Debeziumで動作してお試しできる環境ができたので、色々と挙動を確認できました。 PostgreSQLでCDC MySQLでの実験環境は簡単に構築できたのですが、今回導入を検討しているサービスではPostgreSQLを使用しています。 ということで、まずは手元でPostgreSQL + Kafka + DebeziumでCDC環境を構築してみます。 Kafkaの構築 こちらは前出のブログの記載とほぼ同じで、Docker hubにある公式イ
頻繁にアクセスされるテーブルでこの問題が起こると、サービスからのすべてのセッションが待機され、サービス障害につながる可能性があります。そのため、MySQLではトランザクションは極力小さく保つことと、commitやrollback漏れによる終了することのないトランザクションを防がなければいけません。 もし、この問題が起こってしまった際に解消するには以下の方法になります。 session1のトランザクションが正常終了するまで待つ session1をkillステートメントで強制終了させる session2のDDLをキャンセルする、またはタイムアウトされるまで待つ(lock_wait_timeoutパラメータ) 1.については、たまたまロングトランザクションが実行されているのであれば、このトランザクションが正常終了するまで待ってから、DDLを実行します。 2.については、正常終了する見込みのない予
Google Cloudが開発したPostgreSQL互換ソフトウェア「AlloyDB Omni」がバージョンアップ、より高性能に Google Cloudは、同社がPostgreSQL互換の高性能なマネージドデータベースサービスとして提供している「AlloyDB for PostgreSQL」と同じデータベースサーバを、オンプレミスやノートPCなどで実行できるソフトウェア「AlloyDB Omni」のバージョンアップ版となる「AlloyDB Omni version 15.7.0」のリリースを発表しました。 AlloyDB OmniはPostgreSQLとフル互換で、従来のPostgreSQLアプリケーションがそのまま実行可能なだけでなく、レプリケーションやバックアップツールなどもそのまま利用可能です。 その上で、多数のCPUコアをより活用するスケーラビリティを改善し、自動チューニング機
この記事はNTTコムウェア Advent Calendar 2023の4日目の記事です。 こんにちは、NTTコムウェアの平塚です。今月は2023冬 Chill Seasonで手に馴染むブキを探しているところです。 大規模言語モデルが持っていない最新情報や企業内情報を補うためのRAG(Retrieval Augmented Generation、検索拡張生成)というアーキテクチャーがあります。ごく簡単に説明すると、外部データベースを用意してそこで検索した結果を大規模言語モデルに説明させるというものです。以下はRAGのイメージ図です。 現在多くの企業さまがRAGの検証に取り組んでいるところかと思います。今回RAGを用いてPostgreSQLに詳しいアシスタントAIを試作したので、気づいたところをいくつ か共有いたします。 まとめ PostgreSQLアシスタントAIはある程度使えるものになりそ
はじめに こんにちは。コミューンでソフトウェアエンジニアをしているU2です。 今回は commmune の開発でも使用している typescript-sequelize のモデル定義ファイルからER図を作成していきます。 はじめに 背景 やりたいこと 実装 環境 前準備 実験 ER図の生成 CI化 今後の課題 参考サイト まとめ 背景 commmune は豊富な機能を持ちそれに合わせいくつものデータを保持しているので、永続化のためのテーブルが多く存在します。 また、テーブル定義としてはリレーションを持つが、Sequelizeのロジック上使用しないことが理由でモデルファイルにそのリレーションが記述されていないこともあります。 そのため、新規参入者がテーブル全容を把握するのに苦労しています。(そもそも長く開発に関わっている人でも知らないテーブルがあったりする。) そんな問題を解決するために、S
はじめにTIG真野です。育休明けです。 PostgreSQLには timestamp with time zone(timestamptz: 長いので以後こちらで表記します)型が存在します。一見、タイムゾーン付きで日時データを保持してくれそうな名称ですが、そうではないよという話をさせてください。 timestampz の仕様PostgreSQLのドキュメント 8.5.1.3. タイムスタンプ には以下のような仕様が書かれています。 timestampzの内部に格納されている値は UTC である 入力文字列にタイムゾーンが指定されていれば、そのタイムゾーンを元にUTCに変換され保持される timestampzの値を取得すると、UTCから現行のタイムゾーンに変換されて表示される 1,2 は timestamp with time zone という名称から、書き込み時のタイムゾーンも保持している
AWS News Blog Amazon Aurora MySQL zero-ETL integration with Amazon Redshift is now generally available “Data is at the center of every application, process, and business decision,” wrote Swami Sivasubramanian, VP of Database, Analytics, and Machine Learning at AWS, and I couldn’t agree more. A common pattern customers use today is to build data pipelines to move data from Amazon Aurora to Amazon R
AWSのDB、Auroraを使っているみなさま元気でしょうか。Auroraに限らずSaaS的なサービスを使っていると"このバージョンはEOLだ"と言ってバージョンアップが必要になる場合があります。みなさまも覚えがあるのではないでしょうか。 問題はどのようにバージョンアップを行うかです。 今回は、Aurora MySQL (not serverless)でマイナーバージョンアップを行う際にどういう手法があるかを、AWSのドキュメントや実際にやってみた経験をもとに考えたいと思います。Aurora PostgreSQLも同様かもしれませんがそちらは調べていません。 目次 目次 考えられる方法2つ そもそもRDSのブルーグリーンデプロイメント機能とは? それぞれの嬉しい点、使いづらい点 インプレースアップグレード(ゼロダウンタイムパッチ適用を狙いつつ) 嬉しい点 使いづらい点 ブルーグリーンデプロ
はじめに 筆者について Matcher株式会社で エンジニア/ビジネス職 の両方を担当している者です。 元々学生時代は生物系の学部に所属しており、 プログラミング経験と言えば大学生向けプログラミングコミュニティ『GeekSalon』にて Unity を用いたゲーム開発を教えていたのと、1年ほどiOSエンジニアをやっていただけなので 『SQL』『データベース周り』『データサイエンス』『データ分析』的なところには 一切触れて来ない人生でした。 しかしこの度、今後業務で使うことになっていくというのと、 『データドリブンのより良い意思決定できる為には、ある程度データを自在に操れた方が良いかな』 という理由から、少し本腰を入れて SQL を勉強しようと考えました。 色々調べた結果、『データサイエンス100本ノック』といういかにも分かりやすいものがあったので それを全問制覇することを目標としてこの3ヶ
CDK の中で DB を初期化する点についても後ほど触れます。 S3 にサンプルデータをアップロードする 続いて、以下のコマンドで S3 にサンプルのデータを入れます。 bucket_name=$(aws cloudformation describe-stacks --stack-name BlogAthenaJoinS3AndMysqlStack --output text --query 'Stacks[0].Outputs[?OutputKey==`BucketName`].OutputValue') aws s3 cp ./s3_test_data/data "s3://${bucket_name}/data" --recursive これで CloudFormation で作成した S3 バケット名を取得し、そのバケットに以下の CSV ファイルをアップロードしました。 ※4都
With the release of v0.6.0, which marks the first stable release of the ParadeDB full-text search extension, we have renamed pg_bm25 to pg_search. We're unveiling pg_search: a Rust-based Postgres extension that significantly improves Postgres' full text search capabilities. pg_search is named after BM25, the algorithm used by modern search engines to calculate the relevance scores of search result
マルチテナントなECサイトの注文データをイメージしています。tenant_nameのカラムにテナント名が入り、このカラムとDBユーザーの一致を行セキュリティポリシーよってチェックするようなイメージです。 テストデータ等の準備 それでは検証環境を準備していきましょう。今回の検証にはPostgreSQLバージョン11.11を利用しています。 まずはテーブルを作成 CREATE TABLE orders ( id SERIAL PRIMARY KEY, tenant_name text, product_code text, order_date timestamp ); CREATE TABLE 続いてマルチテナント用のDBユーザーを作成 CREATE ROLE user01 LOGIN; CREATE ROLE CREATE SCHEMA "saas"; CREATE SCHEMA GRAN
With a special focus on Percona Operator for MySQL Overview HAProxy, ProxySQL, MySQL Router (AKA MySQL Proxy); in the last few years, I had to answer multiple times on what proxy to use and in what scenario. When designing an architecture, many components need to be considered before deciding on the best solution. When deciding what to pick, there are many things to consider, like where the proxy
待望の新メジャーバージョンMySQL 8.4対応! 【本書の概要】 メジャーバージョンであるMySQL8.4に対応した、『MySQL徹底入門 第4版』の改訂版です。 「運用データ型」「レプリケーション」「文字コード」など、実務で役立つ知識を学ぶことができます。 MySQLのバージョンアップに合わせ、実行例や説明の最新化はもちろん、MySQL Shellについての解説の追加や、各種ツールも見直し、『より効率的』に『より快適』にMySQLを活用するためのノウハウを余すところなく解説します。 【対象読者】 ・MySQLの初心者から中級者 ・システム開発者 ・データベース関連プログラマー ・データべースに興味のある学生や企業のDB関連リサーチャーなど 【執筆者】 日本MySQLユーザ会メンバー(MyNA)。 日本MySQLユーザ会 は、日本におけるMySQLのユーザ団体。 日本におけるMySQLの
8月23日から25日まで開催された日本最大のゲーム開発者会議「CEDEC 2022」では,数多くのゲーム関連セッションが行われたが,ここではTiDB Cloud関連のセッションについて紹介する。講演タイトルは「ゲーム業界で採用されているMySQL互換フルマネージメントサービスのNewSQLデータベース『TiDB Cloud』」で,登壇者はPingCAP シニアソリューションアーキテクトの水戸部章生氏だ。 TiDBは「タイデービー」と読む。Tiはチタニウムの意らしいのだが,英語だと「タイテイニアム」みたいに読まれるので「タイ」の読みとなる。イメージキャラクターは鯛だそうだ。 そのTiDB Cloudは何かと言うと,PingCAPが開発した「MySQL互換のフルマネージドなクラウドデータベース」である。 MySQLは,いまや最もポピュラーなデータベース(以下DB)ソフトなのであまり説明はいらな
Amazon RDS for MySQL adds new disaster recovery (DR) capabilities with Cross-Region Automated Backups Starting today Amazon Relational Database Service (Amazon RDS) for MySQL supports Cross-Region Automated Backups. This feature extends the existing Amazon RDS backup functionality, giving you the ability to setup automatic replication of system snapshots and transaction logs from a primary AWS Reg
Google Cloudは大規模分散データベース「Cloud Spanner」でのPostgreSQL互換インターフェイスの提供を正式版としてリリースしました。 SpannerのPostgreSQL互換インターフェイスは2021年10月に行われたイベント「Google Cloud Next '21」で発表され、プレビュー版となっていました。 参考:Google、大規模分散DB「Spanner」にPostgreSQL互換インターフェイスを実装。強い一貫性で秒間10億以上のリクエストを処理可能。Google Cloud Next '21 Cloud Spannerは地球規模で大規模分散処理を行うスケーラブルで高速なリレーショナルデータベースで、強い一貫性とトランザクション処理、SQLによるクエリなどを実装したマネージドサービスです。 Cloud Spannerはクエリ言語としてANSI SQL
Supabaseとはどんなもの? PostgreSQLのBaaS オープンソース オープンソースだけどマネージドホスティングサービスがある 無料のホスティングプランもある データベースに対応したREST APIをはやしてくれる オープンソースのPostgRESTを使っている Firebaseのようなリアルタイム要素があるっぽい ファイルを保存するストレージ機能もあるっぽい Firebaseの代替と謳うが、FirebaseはNoSQLで、SupabaseはRDBなので、ワンタッチで置き換えできる代物ではない 簡易的な認証・認可の仕組みが備わっている サインアップ、メールアドレス確認、ログイン、ログアウト、パスワードリセットなど サードパーティ認証に対応: Google, Apple, Facebook, Azure, Twitter, GitHub, ... 行ごとに認可できる(RLS: R
こんにちは、MA部でエンジニアをしている田島です。 以前に弊社の塩崎が「Amazon AuroraのデータをリアルタイムにGoogle BigQueryに連携してみた」という発表を行いました。 こちらの発表では、Amazon Aurora MySQLのデータをGoogle BigQueryへリアルタイムにデータ連携する方法を紹介しています。リアルタイムデータ連携を実現するために、Aurora MySQLをレプリケーションソースとしてGoogle Cloud SQLへレプリケーションします。そして、BigQueryのFederated Query機能を利用してリアルタイムにデータを参照できるようにしています。 本記事ではその中の、Aurora MySQLからCloud SQLへのレプリケーション部分にフォーカスします。Aurora MySQLがマネージドサービスだからこそ発生する大きな注意ポ
If you’ve read Crunchy blogs recently you probably noticed by now that we’re all big fans of indexing. Indexing is key to optimizing your database workloads and reducing query times. Postgres now supports quite a few types of indexes and knowing the basics is a key part of working with Postgres. The role of database indexes is similar to the index section at the back of a book. A database index st
って知ってました?自分は知りませんでした… The INSTANT algorithm can add a column at any position in the table. Before MySQL 8.0.29, the INSTANT algorithm could only add a column as the last column of the table. MySQL :: MySQL 8.0 Reference Manual :: 17.12.1 Online DDL Operations しかしながら、マニアックな制限が存在するようで、The Oracle MySQL Japan BlogのALGORITHM=INSTANTを使用した列追加・削除という記事によると、 この機能を実現するために、行のバージョン管理に関する考え方がテーブル・メタデータに導入されました。
Aurora MySQL improves performance and failover recovery time when binlog is enabled Amazon Aurora MySQL-Compatible Edition now supports a new, enhanced binary log (binlog). The enhanced binlog reduces the compute performance overhead caused by enabling binlog, which, in certain cases, can reach up to 50%, down to 13%. The enhanced binlog also improves database recovery time by up to 99% after rest
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く