並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 1114件

新着順 人気順

RDBMSの検索結果121 - 160 件 / 1114件

  • OneDriveでファイルが壊れる2つの原因と対策:データイズム:オルタナティブ・ブログ

    ある著名人がOneDriveのファイルをiPhoneから開けなくて困っている話から、別の人が確定申告データが壊れたとかいろいろとOneDriveの問題が指摘されています。問題がこれだけ多くしているのは「Windows 10がOneDriveでのバップアップを強要することにより問題を起こしている」ことにあるようです。「ファイルのバックアップ」と言われたら安心のためにやっとこうか、OSが言うんだしとうっかり許してしまいそうですが、マイクロソフトアカウントでWindows 10にログインするとOneDriveが自動的に有効になりバックアップしようとすると、様々な落とし穴があるとリンク先のITサポートSORAでは指摘されています。バックアップというと、安心のためにデータを保存してくれるだけに聞こえますが、実態はファイルの同期であり、フリープランで容量を超えるとか、様々なハマりポイントがあるようです

      OneDriveでファイルが壊れる2つの原因と対策:データイズム:オルタナティブ・ブログ
    • 個人開発のプロダクトにおけるクラウド料金のはなし - GCPの年間コストをランチ一回分に抑えた話 - Lean Baseball

      GCP(Google Cloud Platform)を個人開発プロダクトの中心として使っているマンです. AWSやAzureなど他のクラウドサービスもそうですが, クラウドサービスを自分の財布から使ってる時ってめちゃくちゃドキドキしませんか?特にお金の話💰 gigazine.net 例えばこういう記事が流れてくると, 勉強のつもりでアカウント作ったけどどうしよう🤔 仕事で使ってるけど怖くなってきた😫 などなど, 色々と不安を覚えると思います, 自分も昔はそうでした, クレカの情報入れるのこわいお💳的な. ですが安心してください. 仕組みを正しく理解して使えば個人レベルだとメチャクチャ安く収まります. このエントリーでは, 私が今年(2020年)に使ったGCPの料金をチラ見せしつつ, 目的に合わせたクラウドサービスの使い方をTipsとして紹介し, GCP(に限らず他のクラウドサービス

        個人開発のプロダクトにおけるクラウド料金のはなし - GCPの年間コストをランチ一回分に抑えた話 - Lean Baseball
      • テーブル設計を遅らせることでユーザー体験の最大化を狙える!?米国式最新開発手法「ADD」とは。。 - Qiita

        初めまして、記事に訪問いただきありがとうございますm(_ _)m 今までのプロジェクトでありがちな言い訳。。。 今からこの仕様変更をすると「テーブル設計」に影響が出るので工数がとてもかかります 今からこの仕様変更をすると「テーブル設計」に影響が出るので工数がとてもかかります 今からこの仕様変更をすると「テーブル設計」に影響が出るので工数がとてもかかります 今からこの仕様変更をすると「テーブル設計」に影響が出るので工数がとてもかかります 今からこの仕様変更をすると「テーブル設計」に影響が出るので工数がとてもかかります なんでこんなことが起こってしまうのか もう15年も前になるPOA vs DOA論争の結果、データ整合性のためにテーブル設計を一番初めに済ませることが一般的になりました。 【初級】ゼロから学ぶDOA 第1回 ですがこのやり方では実際の画面の動きをお客様が見る前に仕様を決めて、 そ

          テーブル設計を遅らせることでユーザー体験の最大化を狙える!?米国式最新開発手法「ADD」とは。。 - Qiita
        • FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

          FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ PythonのWebフレームワークとしていま注目を集めるFastAPIは、シンプルにコードが書けるだけでなく、パフォーマンスが高いWebアプリケーションのバックエンドサーバーが構築可能です。同フレームワークの勘所をPythonスペシャリストの杜世橋さんが、初心者向けのハンズオン、そしてより実践的な画像への自動タグ付けサービス実装をとおして解説します。 FastAPIはいま非常に注目されているPythonのWebフレームワークの1つです。Flaskのようにシンプルに書ける一方でPythonのType Hintの機能をうまく活用し、HTTPのリクエスト/レスポンスをPythonの関数の引数/戻り値とシームレスにマッピングして非常に効率的に開発ができるのが最大の特徴です。非同期処理にも対応していてその名

            FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
          • 今まで生き残ってきたRDBMSとこの先10年戦えるデータストア戦略 / Database now and in the past

            Developers Summit 2022の登壇資料です。 # 参考リンク - https://eh-career.com/engineerhub/entry/2018/12/11/110000 - https://soudai.hatenablog.com/entry/2017/12/27/080000 - https://soudai.hatenablog.com/entry/2021/12/31/114009

              今まで生き残ってきたRDBMSとこの先10年戦えるデータストア戦略 / Database now and in the past
            • 【レポート】インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~ #AWSSummit | DevelopersIO

              DA事業本部の春田です。 AWS Summit Online絶賛開催中!ということで、本記事では「CUS-60: インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~」の内容についてまとめていきます。 セッション情報 株式会社カプコン システム開発部 中村 一樹 氏 株式会社カプコン システム開発部 中島 淳平 氏 DL数500万を超える大型タイトル、モンスターハンターライダーズ。 メンテフリー、省コスト、最先端、をテーマにしたカプコン史上最大のインフラアーキテクチャはどの様に設計され、どう運用されているのか。コンテナって実際どうなの、Kubernetes?ECS?RDBMSを使わずしてサービスを提供することは可能?大量アクセスにより生成されるログを安全に回収するにはどうする?実際に運用してみた経験や事例を踏まえて、カプコンの考えるクラウドネイティブ時代の

                【レポート】インフラエンジニアは働かない~AWSのフルマネージドサービスでメンテフリーになるまで~ #AWSSummit | DevelopersIO
              • Pythonでいい感じにバッチを作ってみる - prefectをはじめよう - JX通信社エンジニアブログ

                JX通信社シニア・エンジニアで, プロダクトチームのデータ活用とデータサイエンスのあれこれ頑張ってるマン, @shinyorke(しんよーく)です. 最近ハマってるかつ毎朝の日課は「リングフィットアドベンチャー*1で汗を流してからの朝食」です. 35日連続続いています. 話は遡ること今年の7月末になりますが, JX通信社のデータ基盤の紹介&「ETLとかバッチってどのFW/ライブラリ使えばいいのさ🤔」というクエスチョンに応えるため, このようなエントリーを公開しました. tech.jxpress.net このエントリー, 多くの方から反響をいただき執筆してよかったです, 読んでくださった方ありがとうございます! まだお読みでない方はこのエントリーを読み進める前に流して読んでもらえると良いかも知れません. 上記のエントリーの最後で, 次はprefect編で会いましょう. という挨拶で締めさせ

                  Pythonでいい感じにバッチを作ってみる - prefectをはじめよう - JX通信社エンジニアブログ
                • スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita

                  スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点RubyRailsScalaポエムスタートアップ この記事を書くに至った経緯 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRuby on RailsからScalaに移行したのですが、その効果が思ったよりだいぶ大きく、いずれこの効果を共有したいなーと思っていました。 弊社ではスタートアップで全員ほぼ未経験状態のScalaを採用するという挑戦をした結果、「Scalaを書きたい」というレベルの高い人材をかなりの確率で捕まえられるようになり、開発がものすごい加速した上に堅牢になったのでそのうちスタートアップでScalaを採用するメリットを記事にする予定。 https://t

                    スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita
                  • DynamoDB の基礎と設計 / DynamoDB Design Practice

                    Qiitaにも記事があります https://qiita.com/_kensh/items/2351096e6c3bf431ff6f サーバーレスでよく利用される Amazon DynamoDBですが、設計方針はRDBMSと違うとよく言われます。 アクセスパターンに従った、DynamoDBならではの設計の仕方を一緒に学んでみませんか?

                      DynamoDB の基礎と設計 / DynamoDB Design Practice
                    • Elasticsearchクラスタを再構築し、無停止で切り替えるベストプラクティス - Hatena Developer Blog

                      はてなブックマークチームのid:taraoです。はてなブックマークでは、以前はオンプレミスなElasticsearchクラスタを運用していましたが、AWS上にAmazon Elasticsearch Serviceのクラスタを構築して切り替えました。この切り替えではクラスタの再構築に限らず、アップグレードやマッピングの変更にも使える一般的な方法を採用しました。 この記事では、その具体的な方法を紹介します。 一般的な方法を採用したい目的と背景 検討したクラスタ再構築や切り替えの方法 1. ローリングアップグレード 2. スナップショット・リストア 3. クラスタ横断レプリケーション 4. Reindex API 5. アプリケーションコードによる再インデキシング 目的・条件による取りうる方法のまとめ 採用した再インデキシング手法の詳細 ダブルライトをどのように実現するか 非同期ダブルライトの

                        Elasticsearchクラスタを再構築し、無停止で切り替えるベストプラクティス - Hatena Developer Blog
                      • リレーションとリレーションシップの誤用に注意 - 設計者の発言

                        RDBやデータモデリングに関する説明の中で「リレーションシップ」と言うべきところで「リレーション」と表現する誤用が目立つ。どうでもいいような違いに思われるかもしれないが、これらは明確に区別されるべきだ。そうでないと、RDBの用語の意味がわからなくなるからだ。 IBMのフェローであったE.F.コッド(1923-2003)による1970年のの歴史的論文 "A Relational Model of Data for Large Shared Data Banks" (大規模共有データバンク向けデータのリレーショナル・モデル。杉本さんによる対訳)によって、世界で初めてRDBの理論的枠組みが示された。この論文で使われている用語"relation"が、RDB(relational database)の呼称の由来である。 relationとは何か。その論文でコッド博士は、1個のテーブルに格納された行(

                          リレーションとリレーションシップの誤用に注意 - 設計者の発言
                        • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                          KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                            Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                          • SQL Training 2021

                            Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17

                              SQL Training 2021
                            • Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog

                              この記事は Money Forward Engineering 2 Advent Calendar 2022 18日目の投稿です。 こんにちは。マネーフォワード関西開発拠点でマネーフォワード クラウド会計Plus (以下会計Plus)のエンジニアをしているぽっけです。 この記事では、私が行った高速化について紹介します。 私は最近Railsアプリケーションの高速化を行っており、ある画面のレスポンスタイムを50%以上削減しました。そしてこの改善はRubyレベルの変更のみで達成しました。 この記事での「Rubyレベルの変更のみ」は、MySQLやRedis、Web APIなどへのアクセスには全く手を入れず、Rubyのプロセスが消費する時間のみを変更した、ということを意図しています。 MySQLなどへのアクセスは通常ボトルネックになりがちな箇所です。今回そこに手を入れずに高速化を達成できたのは、1つ

                                Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog
                              • 意外と知られてない?AWS Prescriptive Guidance(AWS規範的ガイダンス)めっちゃ使えるよ | DevelopersIO

                                AWS Prescriptive Guidance(AWS規範的ガイダンス)について紹介されているものが少なったので、ひょっとして未だ認知度低いんじゃないか?ということで紹介したいと思います! AWS Prescriptive Guidance(AWS規範的ガイダンス) Amazon Web Services (AWS) Prescriptive Guidance provides time-tested strategies, guides, and patterns to help accelerate your cloud migration, modernization, and optimization projects. These resources were developed by AWS technology experts and the global communi

                                  意外と知られてない?AWS Prescriptive Guidance(AWS規範的ガイダンス)めっちゃ使えるよ | DevelopersIO
                                • 話題の AlloyDB は本当に凄いデータベースなのでプレビューを使い倒した #devio2022 | DevelopersIO

                                  ウィスキー、シガー、パイプをこよなく愛する大栗です。 この度クラスメソッド株式会社で開催している技術イベント DevelopersIO 2022 のアーカイブ動画セッションに登壇しましたので、ブログで解説を行いたいと思います。なお本内容は2022年6月時点の内容となっていますので、現在の状況とは異なっている場合がございますのでご了承ください。 AlloyDB for PostgreSQL は2022年7月27日現在において、プレビューのステータスです。このプロダクトまたは機能は、Google Cloud Platform の利用規約の一般提供前のサービス規約の対象となります。一般提供前のプロダクトと機能では、サポートが制限されることがあります。また、一般提供前のプロダクトや機能に変更が加えられると、他の一般提供前バージョンと互換性がない場合があります。詳細については、リリースステージの説明

                                    話題の AlloyDB は本当に凄いデータベースなのでプレビューを使い倒した #devio2022 | DevelopersIO
                                  • 勘でリレーションを張っていないか? - Qiita

                                    はじめに 今回は外部キーを張るときに最低限意識したいことについて書きました。 何か間違えがあったり、もっとこういうところも意識してますという人がいたらコメントお願いします。 この記事で伝えたいこと ①リレーションシップ先のデータを消したときに同時にリレーションシップ元のデータが消えても自然な状態を作る ON DELETE CASCADEをうまく利用できる状態を作る つまり親子関係を正確に表現する。 リレーションシップ先は親テーブル、リレーションシップ元は子テーブルを意味しています。 ②データを作成するときのことを考えてデータの生成順序がおかしくならないように外部キーを張る ③関連を表現するときに中間テーブルを利用したほうが良い場面がある 注意 下記【例を交えながら説明】の説明に出てくるテーブル設計に関しては、上記の【この記事で伝えたいこと】の①と②と③の項目に対して想像しやすいように、理解

                                      勘でリレーションを張っていないか? - Qiita
                                    • オレ的EXPLAIN技を語っちゃうゾ - Qiita

                                      メリークリスマス 本記事はPostgreSQL Advent Calendar 2021の25日目です。今年も面白い記事がたくさん揃いましたね!!! さて、みなさん今年のPostgreSQLライフはどんな感じでしたでしょうか? 私はというと、なんだかチューニングばっかりやってました。1案件でいろいろお手伝いすることはまあまああったのですが、複数から次々チューニングの相談をもらって、歴代継承者の個性を発現したデクくんのごとく駆け回ったのが今年のハイライトです。 (この綱渡り感、、、伝われ!!!) 俺たちは雰囲気でチューニングしている 今回上手くいったけど、あの時たまたまひらめいた1案をぶつけてみたら効果でたのであって、次善の策なんてなかったけど??って毎回思ってるから、雰囲気でやっていると思う、マジで。コミュニティのノリだと笑いが起きていいんですけど、少しでも勝率を上げるために、若手の前でド

                                        オレ的EXPLAIN技を語っちゃうゾ - Qiita
                                      • [初級編] なぜ「AWS で負荷分散は3AZ にまたがるのがベストプラクティス」と言われるのか 可用性の面から考えてみた | DevelopersIO

                                        水平分散のアーキテクチャを考えるときに、「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」「AWS であれば3 AZ にまたがるとよい」とはよく聞かれます。それがどういう意味をもつのか、主に可用性の面から考えてみました。 みなさん、AWS使ってますか!(挨拶 AWSに限らず、ある程度の規模の何かしらの本番システムを組もうというときに、こういう言葉を聞いたことはないでしょうか。 「負荷分散装置の下に並べる分散先 (サーバ) は3台以上がよい」 「AWS であれば3アベイラビリティゾーン (AZ) にまたがるとよい」 負荷分散装置(ロードバランサー)は負荷を分散するのがお仕事です。分散するだけなら 2 台でもよさそうですよね? AWS の3 AZ に至っては、そもそも AZ 単位の障害なんてそうそうないし、あったとしてももう片方の AZ が生きていればなんとかなりそうに思えます。

                                          [初級編] なぜ「AWS で負荷分散は3AZ にまたがるのがベストプラクティス」と言われるのか 可用性の面から考えてみた | DevelopersIO
                                        • 3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その3 AWS固有の優位性について) - Qiita

                                          3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その3 AWS固有の優位性について)AWSAzureGoogleCloud はじめに 今年のはじめに書いた3大クラウドの比較シリーズに関して長いこと続編を書いてませんでした...。 最近、知人/友人のみならず取引先からも「AWSやGCPに関して続編書かないんですか?」と言われることが増えてきたので、今回はAWSを本番運用していて感じたAWS固有の優位性について感想を述べていきます。 AWS 固有の優位性 周知の事実ではありますが、AWSは長年クラウドベンダーとして世界トップシェアを維持し続けています。 AWSをクラウド基盤として利用しているサービスを一切利用せずに1日を過ごすことは不可能なんじゃないかというレベルで日本国内では利用されています。 もはや電気/ガス/水道等の社会インフラに近い状態です。 そして

                                            3大クラウド(AWS,Azure,GCP)をそれぞれプロダクションで実運用した感想(その3 AWS固有の優位性について) - Qiita
                                          • Aurora MySQL でレコードが存在するのに SELECT すると Empty set が返ってくる事象を調査した話

                                            こんにちは。 KINTO テクノロジーズの DBRE チーム所属のp2skです。 DBRE(Database Reliability Engineering)チームでは、横断組織としてデータベースに関する課題解決や、組織のアジリティとガバナンスのバランスを取るためのプラットフォーム開発などを行なっております。DBRE は比較的新しい概念で、DBRE という組織がある会社も少なく、あったとしても取り組んでいる内容や考え方が異なるような、発展途上の非常に面白い領域です。 弊社における DBRE の取り組み例としては、あわっち(@_awache)による DBRE ガードレール構想の実現に向けた取り組みについてというテックブログや、今年の AWS Summit の登壇内容を是非ご覧ください。 今回の記事は、データベースに関する課題解決の事例として「Aurora MySQL でレコードが存在するのに

                                            • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

                                              はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

                                                MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス
                                              • Cloud Native時代のデータベース

                                                2021/6/11 #InfraStudy 2nd Season

                                                  Cloud Native時代のデータベース
                                                • NULL嫌いのUPDATEしないDB設計 #DBSekkeiNight / DB design without updating

                                                  DB設計したいNight #6 正規化 [online] https://dbnight.connpass.com/event/177859/

                                                    NULL嫌いのUPDATEしないDB設計 #DBSekkeiNight / DB design without updating
                                                  • 【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita

                                                    SELECT table_a.id, table_a.name FROM table_a INNER JOIN table_b ON table_a.id = table_b.id; メリットとしては、 どちらかのテーブルのid列のインデックスを使用可能 サブクエリがないことで中間テーブルが作成されない しかし、インデックスがない場合はEXISTSの方が良い場合があります ソートの回避 SQLでは暗黙的にソートが発生する演算が存在するので、 パフォーマンスにも影響するため、ソートが必要ない場合は考慮する必要があります ソートが発生する演算 GROUP BY句 ORDER BY 句 集約関数(SUM, COUNT, AVG) DISTINCT 集合演算子(UNION, INTERSECT, EXCEPT) ウィンドウ関数(RANK, ROW_NUMBER 等) メモリ上でのソートだけではなく

                                                      【SQL】ちょっとしたパフォーマンスチューニングまとめ - Qiita
                                                    • sql.js

                                                      sql.js is an SQL library for javascript containing a version of SQLite compiled for the web.

                                                      • マイグレーションしないRDBMS

                                                        README.md マイグレーションしないRDBMSが欲しい! 課題 PostgreSQLなどの既存のRDBMSはスキーマを持つ。スキーマがあることは良いことだが、このスキーマのライフサイクルはアプリケーションコードのライフサイクルと乖離しがちで、結果として以下のような問題が発生する。 特に自動化をしない場合はマイグレーションをデプロイとは別に行う必要が発生する。これにより、 シンプルに作業が面倒。 承認フローが追加で必要になる。または、デプロイはレビューの管理下に置かれているのにマイグレーション側が適切に管理されないなどのミスマッチが起きる。 マイグレーション忘れ、マイグレーションのリバート忘れのリスクがある。 異なるバージョンのアプリケーションは同時に存在できるがスキーマは同時に存在できない。これにより、 ある種のスキーマ変更はローリングデプロイ環境下では実質的に実行できない。 (テー

                                                          マイグレーションしないRDBMS
                                                        • 【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO

                                                          CX事業本部@大阪の岩田です。 re:invent2018にてアナウンスされたVPC Lambdaの改善について、ついにAWSより公式のアナウンスがありました!! Announcing improved VPC networking for AWS Lambda functions 今後数カ月に渡って全リージョンで徐々にローリングアップデートが掛かっていき、展開が完了したリージョンについては上記AWSのブログが更新されるとのことです。ユーザー側では特に変更操作など必要ありません。 今までのアーキテクチャ これまでのVPC LambdaはLambdaのサンドボックス環境を作成する際に、必要に応じてENIの作成&アタッチ処理を行なっていました。 ※上記AWSのブログより引用 このアーキテクチャは以下のような課題を抱えていました。 ENI作成を伴うコールドスタートにおいての非常に大きな遅延が発生

                                                            【速報】もうアンチパターンとは呼ばせない!!VPC Lambdaのコールドスタート改善が正式アナウンスされました!! | DevelopersIO
                                                          • Rust で SQLite を再実装している - kawasin73のブログ

                                                            セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

                                                              Rust で SQLite を再実装している - kawasin73のブログ
                                                            • 冪等なデータ処理ジョブを書く - クックパッド開発者ブログ

                                                              こんにちは、マーケティングサポート事業部データインテリジェンスグループの井上寛之(@inohiro)です。普段はマーケティングに使われるプライベートDMP(データマネジメントプラットフォーム)の開発を行っています。本稿では、その過程で得られた冪等なデータ処理ジョブの書き方に関する工夫を紹介したいと思います。今回は、RDBMS上で SQL によるデータ処理を前提に紹介しますが、この考え方は他の言語や環境におけるデータ処理についても応用できるはずです。 まずクックパッドのDMPと、冪等なジョブについて簡単に説明し、ジョブを冪等にするポイントを挙げます。また、SQL バッチジョブフレームワークである bricolage を使った、冪等なジョブの実装例を示します。 クックパッドのDMPと冪等なジョブ クックパッドのプライベートDMPは、データウェアハウス(社内の巨大な分析用データベースで、クックパ

                                                                冪等なデータ処理ジョブを書く - クックパッド開発者ブログ
                                                              • 3値論理

                                                                なぜ「= NULL」ではなく「IS NULL」と書かなくてはならないのか? これは、気になっている人も多いはずです。まだ SQL に不慣れな頃、ある列が NULL である行を選択しようとして、 SELECT * FROM table_A WHERE col_1 = NULL; というクエリを書いてしまい、エラーになったり思い通りの結果が得られなかった、という経験は、ほぼ全ての人が持っているでしょう。ちょうど C言語や JAVA を習い始めのころに「if (a = 5)」と書いてしまう間違いとよく似ています。最初は、言語仕様の汚さにぶつぶつ文句をいいながらも、そのうち「IS NULL」という書き方に慣れてしまって、疑問を持たなくなります。 でもどう考えても奇妙な書き方ですよね。こんな素直でない書き方をしなくてはならないということには、やはりそれなりの理由があるのです。今からその理由を説明しま

                                                                • <前編>【50代エンジニアのキャリアストーリー~将来のエンジニアライフを考える~】ウェビナーレポート #over50 - Findy Engineer Lab

                                                                  2021年2月9日(火)ファインディが主催するエンジニア向けイベント「【50代エンジニアのキャリアストーリー~将来のエンジニアライフを考える~】」がオンライン上で開催されました。 「35歳定年説」と謳われるエンジニアのキャリア。「40歳を迎えてこれからもエンジニアを続けられるのか」「年齢的にマネジメントに進まないといけないのか」「周りに50歳以上のエンジニアがいない」といった内容の相談をファインディでも数多く受けてきました。本イベントでは、50代以上のエンジニアとして活躍されている方々をお呼びして、将来のエンジニアライフを考える上で、ヒントとなるお話をお伺いしました。 インターネット黎明期を知る、50代エンジニアのキャリアの変遷 「実益と趣味を兼ねているから」50代でもエンジニアを続けている 数々の苦労体験が、今の仕事に活きてくる 20~40代でやっててよかった!息の長いエンジニア生命を支

                                                                    <前編>【50代エンジニアのキャリアストーリー~将来のエンジニアライフを考える~】ウェビナーレポート #over50 - Findy Engineer Lab
                                                                  • サービス無停止でRDB移行 〜 Yahoo!広告のOracleDB移行事例

                                                                    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!広告 ディスプレイ広告(以下、ディスプレイ広告)エンジニアの池田です。 本記事では、ディスプレイ広告において広告主の予算に対する課金処理・配信制御に使われるRelational Database(以下、RDB)を障害を起こさずにサービス無停止で移行した事例について紹介します。無停止でのRDBの移行を検討されている方がいらっしゃったらぜひ参考にしていただければと思います。 サービスを停止できない理由 今回、私たちが運用していたOracle Database(以下、OracleDB)のハードウェアのEOLおよびソフトウェアのEOLに伴うバージョンアップ(Oracle12c→Oracle19c)などの理由により、

                                                                      サービス無停止でRDB移行 〜 Yahoo!広告のOracleDB移行事例
                                                                    • 老兵のようなRDBMSからの解放を AWSが手がけるデータストアの再発明

                                                                      オンラインで開催されているAWS最大のグローバルカンファレンス「AWS re:Invent 2020」。12月2日に行なわれたAWS CEOのアンディ・ジャシー氏の基調講演では、データストア分野にもフォーカス。ストレージとデータベースの新サービスは、コスト削減と高い性能を求める顧客の声に応えた正常進化と言えそうだ。 もはや古いデータストアでは対応できない 3時間におよぶアンディ・ジャシー氏の基調講演において、コンピュート分野に続いて解説されたのがデータストアの分野だ。ここではデータを利活用するストレージの技術革新に加え、データベースへの取り組みも披露された。 まずゲストとして登壇したのは、2006年のAmazon S3ラウンチ当時にいち早くデータを格納したSmugMugの創業者であるドン・マクスキル氏。S3にデータをホストしたことで、最新の分析やデータ管理ツールを利用でき、1日数十億枚とい

                                                                        老兵のようなRDBMSからの解放を AWSが手がけるデータストアの再発明
                                                                      • PostgreSQLに関するNTTデータのSlideShareのスライドリスト

                                                                        はじめに SlideShareの広告対策です。 更新履歴 2023/12/13 CloudNative Days Tokyo 2023の資料を追加しました。 2023/12/07 PostgreSQL Conference Japan 2023の資料を追加しました。 2023/11/16 NTTデータで以前使われていたSlideShareのスライドを追加しました。 2024/03/08 第45回PostgreSQLアンカンファレンス@オンライン、DEIM2024の資料を追加しました。 2024 OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)

                                                                          PostgreSQLに関するNTTデータのSlideShareのスライドリスト
                                                                        • プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空

                                                                          zenn.dev を読んでの感想です。「シーケンスナンバーをPKにする」以外の項目については言及しませんが、言及しないことは正当性や妥当性を保証していることにはならないです。 InnoDB(MySQL)を想定してます。が、原理は割と一般的なので他のDBでも適用できることが多いと思います。 追記:一般的とは分散でないような"普通の"RDBMSを想定してましたが、分散システム(distributed systemないしreplicated system)のような場合では話が違います。 なぜシーケンシャルな値がよいか 端的にいうと書き込み操作時にバッファープール(baffuer pool)に読み混む必要のあるページが少なくて済むからです。その結果書き込み操作時にバッファープールにページが存在する可能性が高くレイテンシー的に有利になる可能性が高いです。 バッファープール、ページ、btreeなど具体

                                                                            プライマリーキー(primary key)はシーケンシャルな値で良いと思うよ - 角待ちは対空
                                                                          • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

                                                                            【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学とテレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,本稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

                                                                              PostgreSQL チューニングよもやま話 - エムスリーテックブログ
                                                                            • 社内向け SQLチューニング勉強会を実施しました

                                                                              はじめのご挨拶 はじめまして。BEENOSの鈴木です。 普段はBEENOSグループのtenso株式会社でヘルプデスク業務に従事しておりますが、たまにサービス関連のデータベース、MySQLのチューニングや調査などもしております。 今回、普段から触っているMySQLのチューニング勉強会を実施しましたので、その内容を少し公開したいと思います。 勉強会を開催しようとしたきっかけ tenso株式会社の開発チームには、SREチーム(運用チーム)があり、元々は私も所属しておりました。 SREチームに新規メンバーが参入してきたこともあり、改めてデータベースと向き合う人のために、まずはSQLのチューニングを覚えてもらいたいとの要望があり、開催することにしました。 また、BEENOS全体としても開発エンジニアがコードを書くだけでなく、コードに含まれているSQLがどのように動くかを把握しパフォーマンスの良いSQ

                                                                                社内向け SQLチューニング勉強会を実施しました
                                                                              • DXって何じゃらほい?或いは2025年の崖っ淵に向かって熊とワルツを踊る刹那について|楠 正憲(デジタル庁統括官)

                                                                                何週間か前のこと、急にエンプラっぽくないAIベンチャーの社長さんからメッセで飲みに誘われ、秋葉原の焼き鳥屋さんでDXとやらについて聞かれて、とりあえずこのレポート読んどけと返しつつも考えちゃった訳です。Direct Xとか、よくテレビに出てるマツコの方じゃなくて「2025年の崖って実際どうなんだ?」とか何とかオッサンたちから相談される話あるじゃないですか。あれって何なんですかね?オンプレをクラウドにリフトしたらDXなのか。華麗にk8sやらコンテナ使いこなしてCIパイプライン組み立ててテスト自動化したらDXなのか、だいたいDigital Transformationなのに、どうしてDXなのか。SAP R/3とCOBOL PL/Iを捨てて、どこぞのSaaS入れてSparkぶん回してPythonとか書いたらDXなのか。おいおい、そんな話だっけ?って心配になっちゃう訳です。 内製内製って簡単に言う

                                                                                  DXって何じゃらほい?或いは2025年の崖っ淵に向かって熊とワルツを踊る刹那について|楠 正憲(デジタル庁統括官)
                                                                                • DBサーバでUPDATE/DELETEを打つ安心感を高める

                                                                                  近年はDBサーバで直接UPDATE/DELETE文を発行する場面はかつてより減ったように感じますが、引き出しとして持っていて損はないと思ったので私が普段やっている方法をメモしておきます。 プロトタイピングだったり、開発環境でも有効なので手癖にしておくのは有効だと考えます。 MySQLを例に書いていますが、対象のRDBMSは特に限定されません。 1. 対象のレコードを下見する まずはこれから更新する対象を見ておきましょう。 mysql> select * from books where id=1; +----+-----------+-----------------+-------+ | id | author_id | title | price | +----+-----------+-----------------+-------+ | 1 | 1 | Learning UPDA

                                                                                    DBサーバでUPDATE/DELETEを打つ安心感を高める