並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 2067件

新着順 人気順

mysqlの検索結果241 - 280 件 / 2067件

  • DockerでPHPの勉強環境を構築してみた - Qiita

    はじめに みなさん、環境構築ってめんどくさくないですか? 僕はめんどくさいです。 本を使ってPHPの勉強をする機会があったのですが、環境構築をしたくなかったのでDockerを用いることにしました。 やること 『PHP7+MariaDB/MySQL マスターブック』では、XAMPPというパッケージを使用するのですが、Dockerにて環境を再現します。 PHP:7.4を使えるようにする Apacheを使えるようにする MariaDBを使えるようにする この本ではメールを用いるためメールサーバを立ち上げる 注意:この記事ではXAMPPに似た環境を構築する手順を示すのみであり、詳しい解説等はしません(今後追記していくかは未定) 動作環境 M1 MacBook Air(MacOS 13.1) Docker ファイル構成 PHP ├ php │ └ dockerfile ├ mysql │ ├ ini

      DockerでPHPの勉強環境を構築してみた - Qiita
    • Introducing MySQL Innovation and Long-Term Support (LTS) versions

      • MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;

        タイムライン的なものをSELECTだけで実装しようと思った時に、Nested LoopなクエリでUsing temporary; Using filesortが出るようなそこそこ遅いクエリになる。その時にMySQLがインデックスをどう辿っているかを知りたかったので調べてみた。MySQLバージョンは8.0.33。 あまり自信はないので、もし間違った話をしていたら教えて欲しい。 どのようなクエリを検証するか タイムラインの取得ができるような、ユーザー・フォロー関係・投稿の3つのテーブルを作る。スキーマは次の通り。 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL ); CREATE TABLE follows ( id INTEGER PRIMARY KEY AUTO_I

          MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;
        • GitHub - pgautoupgrade/docker-pgautoupgrade: A PostgreSQL Docker container that automatically upgrades your database

          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

            GitHub - pgautoupgrade/docker-pgautoupgrade: A PostgreSQL Docker container that automatically upgrades your database
          • 【Docker + mysql5.7】DBに日本語をINSERTできない問題の解決法 - Qiita

            はじめに dockerでよくあるphp:apatchとmysql5.7で簡単な環境を作って、 CakePHPのブログチュートリアルをやっているときに 日本語の記事テキストがDBへ登録できずエラーになったので解決法を載せようと思いました。 もともとのdocker-compose.yml version: "3.7" services: cakeapp: build: context: ./docker dockerfile: Dockerfile ports: - "8080:80" tty: true stdin_open: true volumes: - ./html:/var/www/html db: image: mysql:5.7 volumes: - "./db:/docker-entrypoint-initdb.d" environment: MYSQL_DATABASE: h

              【Docker + mysql5.7】DBに日本語をINSERTできない問題の解決法 - Qiita
            • PostgreSQL: No More VACUUM, No More Bloat

              PostgreSQL, a powerful open-source object-relational database system, has been lauded for its robustness, functionality, and flexibility. However, it is not without its challenges – one of which is the notorious VACUUM process. However, the dawn of a new era is upon us with OrioleDB, a novel engine designed for PostgreSQL that promises to eliminate the need for the resource-consuming VACUUM. The T

                PostgreSQL: No More VACUUM, No More Bloat
              • TiDBによる大規模ログデータ管理の挑戦!シャーディングなしで大量インサートをさばくには? - LINE株式会社 - TiDB User Day 2023

                イベント開催日:2023年7月7日 講演者:LINE株式会社 ITSC データベース室 MySQL 1チーム ソフトウェアエンジニア 大塚 知亮 氏 本スライドでは、TiDBで大量のログデータを管理するRDBとして、MySQL及びTiDBを検証した過程と結果、そしてオンプレでの運用方法について発表します。通常、超大量のデータ挿入や更新が発生するアプリケーションにMySQLを利用する場合、適切なデータ量や負荷を基準にシャーディングを行って対応します。しかし、それによってシャードを意識したクエリの発行が必要になるだけでなく、シャードをまたいだデータのジョインや整合性の担保に頭を悩ませることになります。この一つの解決策として、MySQL互換の分散データベースであるTiDBは魅力的な選択肢です。このスライドでは、LINEでシャーディングなしで高負荷案件に対応するために、どのように検証し、オンプレで

                  TiDBによる大規模ログデータ管理の挑戦!シャーディングなしで大量インサートをさばくには? - LINE株式会社 - TiDB User Day 2023
                • MySQLでIn句に大量の要素を渡すとまずい理由

                  概要 MySQLでIN句を使用する時はIN句に渡す要素数に注意する必要があるとよく先輩エンジニアの方から聞いていたのですが、実際に大量の要素を渡すと何がまずいのかはっきり分かっていなかったので調べてみました。 この記事で伝えたいこと MySQLでIn句に大量の要素を渡すとまずい理由 まずい状況を回避するために気をつけるべきポイント 先に結論 MySQLでIN句に大量の要素を渡すとインデックスを貼っていたカラムだとしてもフルスキャンが発生しスロークエリになる可能性があります。 フルスキャンが発生してしまう条件はテーブルに設定してあるインデックスの内容とrange_optimizer_max_mem_size の設定値に依存しており、MySQL8でデフォルトの設定値 & シンプルなテーブルであってもおおよそ数万件の要素数をIN句に渡すとフルスキャンが発生する可能性があると考えられます。 検証環

                    MySQLでIn句に大量の要素を渡すとまずい理由
                  • 20x faster than pgvector: introducing pg_embedding extension for vector search in Postgres and LangChain - Neon

                    20x faster than pgvector: introducing pg_embedding extension for vector search in Postgres and LangChainHNSW Index for approximate nearest neighbor search in Postgres Back when we wrote this, we were proud to bring HNSW indexes to Postgres. Since then, pgvector has added support for the HNSW index, and we've chosen to pause the development of pg_embedding and contribute to pgvector instead. We pla

                      20x faster than pgvector: introducing pg_embedding extension for vector search in Postgres and LangChain - Neon
                    • Cloud SQL Enterprise Plus エディションを発表:新エディションでは MySQL のパフォーマンスが最大 3 倍に向上 | Google Cloud 公式ブログ

                      Cloud SQL Enterprise Plus エディションを発表:新エディションでは MySQL のパフォーマンスが最大 3 倍に向上 ※この投稿は米国時間 2023 年 7 月 12 日に、Google Cloud blog に投稿されたものの抄訳です。 Cloud SQL は、MySQL、PostgreSQL、SQL Server のワークロードを実行するための Google Cloud のエンタープライズ対応フルマネージド データベース サービスです。デジタルサービスから銀行、小売業まで幅広い業界で利用されており、現在 Google Cloud を活用している上位 100 社のうち 95% 以上のお客様が Cloud SQL を利用しています。より要求の厳しいワークロードがクラウドに移行するにつれ、より高いパフォーマンスと可用性を求める声が聞かれるようになりました。さらに、個々

                        Cloud SQL Enterprise Plus エディションを発表:新エディションでは MySQL のパフォーマンスが最大 3 倍に向上 | Google Cloud 公式ブログ
                      • pgvector、LLM、LangChain を使用して Google Cloud データベースで AI 搭載アプリを構築する | Google Cloud 公式ブログ

                        postgres=> CREATE TABLE embeddings( id INTEGER, embedding vector(3) ); CREATE TABLE postgres=> INSERT INTO embeddings VALUES (1, '[1, 0, -1]'), (2, '[1, 1, 1]'), (3, '[1, 1, 50]'); INSERT 0 3 pgvector の新しい類似性検索演算子pgvector 拡張機能では、ベクトルに対して類似性のマッチングを行うための新しい演算子も導入されており、意味的に似ているベクトルを見つけることができます。このような演算子には次の 2 つがあります。 ‘<->’: 2 つのベクトル間のユークリッド距離を返します。ユークリッド距離は、ベクトルの大きさが重要なアプリケーション、たとえばマッピングやナビゲーション アプリケー

                          pgvector、LLM、LangChain を使用して Google Cloud データベースで AI 搭載アプリを構築する | Google Cloud 公式ブログ
                        • Create an advanced search engine with PostgreSQL

                          Serverless Postgres Every database is a fully managed Postgres instance

                            Create an advanced search engine with PostgreSQL
                          • Amazon RDSからAuroraへ Mackerelのデータベース移行で何が改善したか - Hatena Developer Blog

                            こんにちは、MackerelチームでSREをしている id:heleeen です。 2023年3月に実施したMackerelのメンテナンスでは、データベースをAmazon RDSからAmazon Auroraに移行しました。この記事ではAuroraを選択した背景や、移行で考慮したことについてお伝えします。 データベースのアップグレードを機に検討 Auroraへ移行することによるメリット パフォーマンスの改善 マイナーバージョンアップのダウンタイムが短く サイジングを適切にできリソース活用も効率的に リードレプリカの運用負荷も改善 Auroraのリードレプリカを利用した移行 RDSにAuroraのリードレプリカを作成する リードレプリカの昇格と切り替え 本番のAurora移行に向けて準備したこと 検証環境で移行して課題を確認 本番メンテナンス時のバックアッププランを用意 Mackerelのメ

                              Amazon RDSからAuroraへ Mackerelのデータベース移行で何が改善したか - Hatena Developer Blog
                            • MySQL の Online DDL の挙動をローカルで検証して理解する

                              MySQL の Online DDL について検証しつつ備忘録としてまとめておきます。 (本記事の検証は、MySQL 5.7.40 で実施しています。) mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.40 | +-----------+ 1 row in set (0.02 sec) Online DDLとは MySQL 5.7 Reference Manual - 14.13 InnoDB and Online DDL Online DDL の機能によって、インデックスの作成などの DDL を実行している最中に INSERT , UPDATEなどの DML が実行できるようになっています。 MySQL 5.5 以前での ALTER TABLE は下記のような制限があったようです。 ALTE

                                MySQL の Online DDL の挙動をローカルで検証して理解する
                              • MySQLのtable collationが意図した値になっているかテストするActions Workflowを作った - 風に吹かれても

                                文字セットと照合順序 MySQLに限らず多くのRDBMSには文字をどのようにバイト列で表現するかを決めるルールである文字セットがあります。 また文字セットに対応して文字同士を比較するときのルールである照合順序*1という概念があります。MySQLの場合、この照合順序は1つの文字セットに対して複数存在する概念です。なのでそれぞれの文字セットに対してデフォルトの照合順序があります。 照合順序が何に設定されているのかを把握していないと思わぬ結果を招くことになり、有名なのが寿司ビール問題と呼ばれるものになります。これは寿司の絵文字とビールの絵文字がMySQLのutf8mb4_general_ciという照合順序の下で等価であると判定されることが原因です。 blog.kamipo.net ここまで照合順序の話をしましたが間違ったことを話している可能性があるので公式ドキュメントを参照してください。 dev

                                  MySQLのtable collationが意図した値になっているかテストするActions Workflowを作った - 風に吹かれても
                                • Aurora MySQLをMySQL8.0へ移行した話 - inSmartBank

                                  こんにちは!SREを担当してます上平と申します。 このエントリーではAurora MySQL5.7互換からMySQL8.0互換への移行を実施した際の流れや学びに関して紹介したいと思います! B/43 では Aurora MySQL5.7系をサービスリリースから使っており、Aurora MySQL バージョン2のサポート終了日(2024/10/31)が近づいているのもあったので、移行することにしました。 Amazon Aurora バージョン - Amazon Aurora これからAurora MySQL8.0へ移行を検討されている方の参考になれば幸いです。 想定される読者 Aurora MySQL 5.7系を使っていて、アップグレードを検討している方 実際の Aurora MySQL 8.0 への移行手順を知りたい方 AWS インフラに興味がある方 前提 Aurora MySQL5.7互

                                    Aurora MySQLをMySQL8.0へ移行した話 - inSmartBank
                                  • go-mysqlでany型へのScan()が使いやすくなります

                                    改善点 github.com/go-sql-driver/mysql (以降 go-mysql) の v1.8 から、Scanの振る舞いが変わります。 go-mysql v1.7.1 までは、次のコードの2つのクエリのScan結果は異なっていました。 // db の接続設定で interpolateParams が false の場合 var v any db.QueryRow("SELECT 123 WHERE ? = 1", 1).Scan(&v) fmt.Printf("%T %v\n", v, v) // int64 123 db.QueryRow("SELECT 123 WHERE 1 = 1").Scan(&v) fmt.Printf("%T %v\n", v, v) // []uint8 [49 50 51] go-mysql v1.8 (未リリース)からは、これが上の動作に

                                      go-mysqlでany型へのScan()が使いやすくなります
                                    • RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話 - カミナシ エンジニアブログ

                                      こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシでは RDB に Amazon Aurora MySQL 2(MySQL 5.7 互換)を使っています(以下 Aurora MySQL と略します)。 ある日、社内の Slack で「𠮷」などの文字列が登録できないのではないかという話が出ました。これを聞いて「あー」と思った方も多いでしょう。 MySQL で有名な UTF-8 の 4 バイト文字問題で、歴史的な理由から MySQL 5.7 以前では utf8 の文字セットは utf8mb4 ではなく utf8mb3 を指しています。 dev.mysql.com カミナシのアプリケーションは 4 バイトの文字列が入力された場合はシステムエラーを返す実装になっていますが、エラーの内容をユーザーにわかりやすく伝えることは難しいためユーザー体験としても良くない

                                        RDS Blue/Green Deployments を使ってシュッと utf8mb4 にマイグレーションした話 - カミナシ エンジニアブログ
                                      • AWS announces Amazon Aurora MySQL zero-ETL integration with Amazon Redshift (Public Preview)

                                        Amazon Aurora MySQL zero-ETL integration with Amazon Redshift is now available in public preview. This feature enables near real-time analytics and machine learning (ML) on petabytes of transactional data stored in Amazon Aurora MySQL-Compatible Edition. Data written into Aurora is available in Amazon Redshift within seconds, so you can quickly act on it without having to build and maintain comple

                                          AWS announces Amazon Aurora MySQL zero-ETL integration with Amazon Redshift (Public Preview)
                                        • メトリックプラグイン - mackerel-plugin-mysql - Mackerel ヘルプ

                                          mackerel-plugin-mysqlはクエリの実行回数など、MySQLに関する各種メトリックを監視できます。 MySQLのバージョンによりプラグインのインストール方法が異なります。あらかじめプラグインのインストール方法をご確認の上でご利用ください。 プラグインのインストール方法 MySQL 5.7以降、MySQL 8.0以降をご利用の場合 上記より古いバージョンをご利用の場合 監視できるメトリック 標準メトリック MySQL Command MySQL Join/Scan MySQL Threads MySQL Connections MySQL Slave status MySQL Table Locks/Slow Queries MySQL Traffic MySQL Capacity InnoDBに関するメトリック MySQL innodb Rows MySQL innodb

                                            メトリックプラグイン - mackerel-plugin-mysql - Mackerel ヘルプ
                                          • MySQL 8.0.32にはUNION ALLをするとWHERE句で日本語が使えなくなるバグが存在します | DevelopersIO

                                            データアナリティクス事業本部のueharaです。 今回は、MySQL 8.0.32でテーブルをUNION ALLした際に生じるバグを共有したいと思います。 バグの事象 こちらで報告されている通り、MySQL 8.0.32では、UNION ALLをするとWHERE句で検索条件として日本語を指定すると、以下のようなエラーが発生して処理が落ちてしまいます。 Cannot convert string '\xE5\x8C\x97\xE6\xB5\xB7...' from utf8mb4 to binary したがって、次のような処理をすることが不可能になります。 WITH tmp_table AS ( SELECT name, data1 FROM table_a UNION ALL SELECT name, data1 FROM table_b ) SELECT * FROM tmp_table

                                              MySQL 8.0.32にはUNION ALLをするとWHERE句で日本語が使えなくなるバグが存在します | DevelopersIO
                                            • Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog

                                              こんにちは。 クラシル開発部、バックエンドエンジニアの松嶋です。 delyに入社してから約3年間、私はSREチームに所属していましたが、昨年10月にバックエンドに転向しました。バックエンドに転向してからは、主にクラシルアプリの公式レシピおよびCGMコンテンツの検索機能に関する開発・改善に取り組んでいます。 クラシルは、2016年2月にサービスを開始してから、管理栄養士監修の「誰でも安全に・おいしい料理を作ることができるレシピ動画」を5万件以上提供してきました。 昨年12月には、クラシルのブランドリニューアルを行い、今後はシェフや料理研究家を中心としたクリエイターとともに多様化したユーザーの食の好みや課題解決に応えられるよう、幅広い食のコンテンツを提供するプラットフォームを目指しています。 ブランドリニューアルの詳細に関しては、こちらを御覧ください。 www.kurashiru.com この

                                                Aurora MySQL 5.7とRailsで実現する全文検索機能 - dely Tech Blog
                                              • 失敗知識から学ぶ!クラウドアプリ設計で避けるべき事例とその対策

                                                2023/6/22 AWS Dev Day 2023 Tokyo 登壇資料

                                                  失敗知識から学ぶ!クラウドアプリ設計で避けるべき事例とその対策
                                                • 【MySQL】インポート時間短縮のためのDBパラメータチューニング / 開発者向けブログ・イベント | GMO Developers

                                                  バイナリ互換性がないMySQLバージョン間(5.6→8.0)のDB移行が必要となり、DBを停止して、mysqldumpによるデータ移行を計画しました。その際にDBのダウンタイムをなるべく短くするため、インポートにかかる時間をパラメータチューニングによって短くできないか検証しました。 注意点 本記事の内容は、筆者の個人的な見解や認識に基づいて作成しているため、正確性、信頼性、完全性、最新性を保証するものではありません。 本記事は、2023/04/25 時点の情報をもとに作成しております。 最新の情報については、他の情報源と照らし合わせてご確認ください。 今回紹介するパラメータはインポート時に一時的に設定するパラメータと仮定しており、運用時は適さないパラメータもあります。 インポートが完了したら運用に適したパラメータへの変更をお願いします。 前提条件 インポートするデータ スキーマ毎にmysq

                                                  • さくらインターネットが開発したSaaS「宅配便取次アプリ」のデータベースにNewSQLが採用された理由は[PR]

                                                    さくらインターネットは今年(2023年)1月、同社として初めてのSaaSとなる「宅配便取次アプリ」の提供を開始しました。 これは同社がヤマト運輸と連携して開発した、リモートワークにおける社内便に関する課題から生まれたものです。 同じオフィスで働いている従業員同士であれば、荷物の受け渡しは相手の席まで荷物を運ぶだけなので簡単です。しかしリモートワークで自宅勤務をしている従業員同士で何かを受け渡そうとすると、住所の連絡といった個人情報の譲渡や配送料金の精算など手間が一気に増えます。 さくらインターネットも、社内で同じ悩みを抱えていました。 クラウドやレンタルサーバ、IoT関連サービスなどを提供している同社にとって、IoT関連の試作デバイスやサーバおよびネットワーク関連機器の検証は日常的な作業です。 しかし社内のリモートワーク化により、これらの作業のために従業員の自宅へ機器を送付する必要がでてき

                                                      さくらインターネットが開発したSaaS「宅配便取次アプリ」のデータベースにNewSQLが採用された理由は[PR]
                                                    • PostgreSQL reconsiders its process-based model [LWN.net]

                                                      This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible. In the fast-moving open-source world, programs can come and go quickly; a tool that has many users today can easily be eclipsed by something better next week. Even i

                                                      • 【データ基盤構築/AWS Lambda】Pythonを使ってSnowflakeのデータをRDSにinsertする - Qiita

                                                        import sys import json import boto3 import ast import os import snowflake.connector import pymysql from snowflake.connector import DictCursor from sqlalchemy import create_engine from sqlalchemy.sql import text from datetime import datetime def lambda_handler(event, context): # 今日の日付とSQLを実行する日時を変数で用意 today = datetime.now() updated_at_str = datetime.strftime(today, '%Y-%m-%d %H:%M:%S') ## Snowflake

                                                          【データ基盤構築/AWS Lambda】Pythonを使ってSnowflakeのデータをRDSにinsertする - Qiita
                                                        • mysql-build-debug-and-test

                                                          OSC Online/Hokkaido 2023 で発表した内容です。 以下、参考文献 実例で学ぶ MySQL/MariaDB デバッグ - https://nayuta-yanagisawa.hatenablog.com/entry/learning-mysql-mariadb-debugging-by-example - Run MySQL Test Suite - https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN_PL.html - Expert MySQL - High Performance MySQL 4th Edition - 日々の覚書 - https://yoku0825.blogspot.com/ - 困ったら大体ここ見てどうにかなる

                                                            mysql-build-debug-and-test
                                                          • DBのリストアテストを全自動化した話 - Pepabo Tech Portal

                                                            ホスティング事業部の業務信頼性向上チームでエンジニアをしているはらちゃんです。 先日STREET FIGHTER 6のオープンベータに参加し、友人にボコボコに負けました。 製品版買っていい勝負ができるように特訓を重ねたいと思います。 今回、ホスティング事業部のサービスであるロリポップ、ムームードメイン、ヘテムル、おさいぽのDBリストアテストを自動化したので紹介します。 まず業務信頼性向上チームとは? リストアテストを継続的にやっている理由 なぜ自動化したのか 全体像 具体的な実装 実装時に困ったこと dumpのサイズが大きすぎて通常のrunnerではリストアテストができない場合 scpをするアカウントにdumpファイルを操作する権限がない場合 dumpファイルのファイル名が微妙に違ってうまく指定できない場合 終わりに まず業務信頼性向上チームとは? 最初に、自分の所属している業務信頼性向上

                                                              DBのリストアテストを全自動化した話 - Pepabo Tech Portal
                                                            • PostgreSQL(pgvector) のベクトル検索による全自動PDF検索 : Blob Storage にアップロードしPDFをテキストに変換 - Qiita

                                                              PostgreSQL(pgvector) のベクトル検索による全自動PDF検索 : Blob Storage にアップロードしPDFをテキストに変換JavaPostgreSQLAdaOpenAIembedding 1. はじめに 先日、Azure OpenAI Embedding モデルを利用し最も関連性の高いドキュメントを見つける方法 について説明しました。これを利用する事で、最も関連性の高いドキュメントを見つける事ができます。 この記事では、この機能を利用し PDF ファイルを Azure Blob Storage にアップロードすると、自動的に PDF ファイルをテキストに変換し、Azure OpenAI Embedding モデルを利用して、ベクトル検索を行う方法について説明します。 このサービスを利用すると、社内ドキュメントも、各種論文も PDF ファイルであれば何でも、Azur

                                                                PostgreSQL(pgvector) のベクトル検索による全自動PDF検索 : Blob Storage にアップロードしPDFをテキストに変換 - Qiita
                                                              • MySQLを7000インスタンス規模で運用するLINEは、MySQL互換のNewSQLをどう評価したか?[PR]

                                                                MySQLを7000インスタンス規模で運用するLINEは、MySQL互換のNewSQLをどう評価したか?[PR] コミュニケーションアプリ「LINE」をはじめ、多くの大規模サービスを運営するLINE株式会社は、LINEマンガやLINE GAME、LINEギフトなどをはじめとするLINE関連サービスのデータベース基盤として約7000ものMySQLインスタンスを運用しています。 このMySQLインスタンスの国内における管理と運用を行っているのが、MySQLコミュニティでも活躍する国内トップクラスのMySQLエキスパートを含む7名のITエンジニアで構成される「MySQL1チーム」です。 同チームのマネージャーである北川健太郎氏は、LINE関連サービスの発展に伴って増大するMySQLインスタンスの運用管理という課題に、日々のオペレーションの自動化を実現するための開発を積極的に行うことで対応している

                                                                  MySQLを7000インスタンス規模で運用するLINEは、MySQL互換のNewSQLをどう評価したか?[PR]
                                                                • Python +mysql + mediumtextで文字化け的おかしなことを直す - Qiita

                                                                  Mysqlにpythonでつなぐと、varcharなら化けないのにmediumtextにすると化ける(ように見える) 解決策) bytes to str でOK import mysql.connector : contents = row[2] とすると↓ '\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86' のようになったら、当該フィールドがなぜかbytesで読み込まれているので contents = row[2].decode('utf-8') とすれば文字化けしなくなります。というか文字化けじゃなくてbyteをそのままだそうとしたらそうなるわな。 疑問)なんでvarcharならstrで受けるのに、mediumtxtではbytesになるのかが謎。

                                                                    Python +mysql + mediumtextで文字化け的おかしなことを直す - Qiita
                                                                  • The growing pains of database architecture | Figma Blog

                                                                    While these fixes moved the needle, they had limitations. By analyzing our database traffic, we learned that writes— like gathering, updating, or deleting data—contributed to a significant portion of database utilization. Additionally, not all reads or data fetching could be moved to replicas due to application sensitivity to replication lag. So, from both a read and write perspective, we still ne

                                                                      The growing pains of database architecture | Figma Blog
                                                                    • 【MySQL】InnoDBのインデックス

                                                                      エンジニアの小張です。多くのデータを扱うアプリケーションにとって、ユーザーが求めるデータを返すまでの速さは生命線とも言えます。 試行錯誤を重ねデータの蓄積量が増えれば増えるほど、アプリケーションが使いづらくなってしまったら、悲しいですよね。。。 今回はそんなレスポンス速度向上に必須の知識であるインデックスについて、構造からおさらいしていきたいと思います。 インデックスとは、 データベース上でのSELECT、WHEREなどの操作による データの集計・検索の高速化に貢献する技術の1つです。 ここでは、MySQLで使用されるInnoDBのインデックスについて説明します。 B+木(B+Tree)について MySQLのInnoDBエンジンで使われるインデックスは、B+木というデータ構造で実装されています。 InnoDBのインデックスは、以下の種類があります。 クラスタインデックス セカンダリインデッ

                                                                        【MySQL】InnoDBのインデックス
                                                                      • 【20分で理解】小難しいインデックス・トランザクション・ロックを"サクッ"とMySQLでまとめてみた - Qiita

                                                                        1. インデックス MySQLで利用可能なインデックスは一部を除き、B-Treeインデックスと呼ばれる構造でできてます。Bツリーインデックスは、ブランチノード(ブランチ), リーフノード(リーフ)で構成されており、ルートノードから数ステップで目的のデータに到達することができます。 データの格納とアクセス方法 クラスタインデックス MySQLのInnoDBストレージエンジンでは、すべてのテーブルは主キー(PRIMARY KEY)によるクラスタインデックスを持ちます。クラスタインデックスとは、データ行が主キーの値によって物理的に順序付けられた状態のことを指します。このため、主キーによる検索は非常に高速です。 セカンダリインデックス セカンダリインデックスは、クラスタインデックス以外のすべてのインデックスを指します。セカンダリインデックスのリーフページ(最下層のインデックスページ)には、インデッ

                                                                          【20分で理解】小難しいインデックス・トランザクション・ロックを"サクッ"とMySQLでまとめてみた - Qiita
                                                                        • Docker:Laravel9 + Nginx + MySQL + phpMyAdminで環境構築 - Qiita

                                                                          この記事の目的 最近、爆速でLaravelの環境構築を行うためLaravel Sailがありますが、やはり自身の手でDockerfileからコンテナ環境を構築をしたいと思い、備忘録の意味も込めて記事にしてみました。 何かインフラ環境を構築している気分になれます。 構築するコンテナ nginx Laravel(PHP) MySQL phpMyAdmin 構成 ディレクト、ファイルの構成は以下の通りです。 dockerディレクトリ直下にnginx、phpのDockerfileを作成します。 MySQLとphpMyAdminのイメージはdocker Hubからプルしてきます。 コンテナ実行の定義は、docker-compose.ymlに記述します。 test ├── docker │ ├── nginx │ │ ├── Dockerfile │ │ ├── default.conf │ │ └─

                                                                            Docker:Laravel9 + Nginx + MySQL + phpMyAdminで環境構築 - Qiita
                                                                          • RDSのDBメンテナンスについて

                                                                            内容 らくがき記事、RDSでダウンタイムなしの24-365構成ってどうすればと思い書いている記事です。 とりあえずはRDSでメンテナンスやアップデート処理が走る時に、サービスダウンするのか否かを整理した資料となります。 RDS(MySQL)の整理 機能概要 最大 64 TiB のデータベースサイズをサポート 汎用インスタンスクラス、メモリ最適化インスタンスクラス、およびバースト可能パフォーマンスインスタンスクラスをサポート 自動バックアップとポイントインタイムリカバリをサポート。 単一のリージョン内または 5 つのリードレプリカのクロスリージョン内で、インスタンスごとに最大 15 個のリードレプリカをサポート 可用性と耐久性 3種類のオプションが選択可能 単一DBインスタンス スタンバイインスタンスのない単一の DB インスタンスを作成します。 マルチAZ DBインスタンス 別のアベイラビ

                                                                              RDSのDBメンテナンスについて
                                                                            • 【MySQL】パフォーマンスチューニング: 実例を交えた解説|Yuu's Memo

                                                                              MySQLは広く使用されているオープンソースのリレーショナルデータベース管理システムであり、パフォーマンスの最適化はデータベースエンジニアにとって重要なスキルです。このブログでは、実例を交えながらMySQLのパフォーマンスチューニングの手法とベストプラクティスについて解説します。これらのテクニックを活用することで、MySQLデータベースのパフォーマンスを向上させることができます。 クエリの最適化と実例 MySQLのパフォーマンスチューニングにおいて、クエリの最適化は重要な要素です。この記事では、具体的なSQL文や設定例を交えながら、クエリの最適化について詳しく解説します。これにより、MySQLデータベースのパフォーマンスを向上させるための実践的な知識を得ることができます。 インデックスの適切な使用 インデックスは特定のカラムの、あるレコードをすばやく見つけるために使用されるものです。検索が

                                                                                【MySQL】パフォーマンスチューニング: 実例を交えた解説|Yuu's Memo
                                                                              • PostgreSQLで多数のパーティションを持つテーブルに対してPrepared Statementを実行した際の性能劣化について調べてみた | DevelopersIO

                                                                                ※実行時間の単位は全てmsです パーティション数が1,000になると汎用プランの再検証で1000パーティションへのスキャンが発生するため、bindが遅くなっていることが分かります。気になっていたunnamedなPrepared Statementについては名前付きのPrepared Statementに比べて早いような気もするし、誤差のような気もするし...ここはもう少し計測回数を増やして詳しく見ていきたいところです。 WHERE句をリテラルで記述した非Prepared Statementの場合は1000パーティションかつforce_generic_planの場合でも6.2msで処理できており、汎用プラン再検証のオーバーヘッドが発生していないことが伺えます。 1000パーティションのテーブルに対して1000回クエリを発行してbindのオーバーヘッドを確認してみる 先程の検証結果から 100

                                                                                  PostgreSQLで多数のパーティションを持つテーブルに対してPrepared Statementを実行した際の性能劣化について調べてみた | DevelopersIO
                                                                                • マネージドMariaDBサービスの設計と仕組みについて | さくらのナレッジ

                                                                                  概要 こんにちは。 さくらインターネット株式会社 クラウド事業本部 SRE室の菅原大和(@drumato)です。 本記事では、先日「さくらのクラウド Labプロダクト」としてリリースされた、「エンハンスドデータベース」のMariaDB版について、その背景や目的、設計や仕組みについてかんたんに紹介します。また後半では、SREsの私が現段階の運用をどう改善し、どう今後の方針を組み立てているのかについて共有します。 リリース内容についてはこちらのニュースページをご覧ください。 https://cloud-news.sakura.ad.jp/2023/05/18/enhanceddb-mariadb-lab-release/ 本記事全体を通して、MariaDB版エンハンスドデータベースの利用方法等については解説しません。よろしければ以下の公式マニュアルをご覧ください。 https://manual

                                                                                    マネージドMariaDBサービスの設計と仕組みについて | さくらのナレッジ