タグ

Databaseに関するkiyoshi1211のブックマーク (88)

  • 史上最強のデータベース、SurrealDB - Qiita

    SurrealDBというRust製データベースを知ったので紹介します。このデータベースはすごいです。リレーショナル、ドキュメント、グラフ、あらゆる種類のデータ構造を扱うことができ、かつインメモリ、単一ノード、分散環境、全てで動かすことができます。さらにHTTPやWebSocketによるアクセスと柔軟なユーザ認証、認可機能とがDB体に内包されており、ブラウザから直に接続するWebDBとしても使えます。とにかくなんでもできる夢のデータベースといった感じです。 特徴 機能を挙げていたら多くなりすぎたので、特に面白い部分を挙げます。 配列やオブジェクトをネストした複雑なデータ構造を持てるのに、レコードリンクという機能によりリレーションに対応していてしかもSQLやMongoDBより簡潔にクエリが書ける。 スキーマレスで各レコードには任意のフィールドを持てるが、必要ならスキーマを定義することもできる

    史上最強のデータベース、SurrealDB - Qiita
  • 検索性能改善のための検索中間テーブルという選択肢 | スペースマーケットブログ

    ありがたいことにスペースマーケットを利用する人は日に日に増えています。 しかしながらサービスが広く使われるようになると問題となってくる一つにシステム性能問題があげられます。 かれこれ半年前のことですが、今回は実際にスペースマーケットが直面したルーム検索における性能問題とその解決策について紹介したいと思います。 事の始まり ある時、全ユーザーに対してキャンペーンメールとプッシュ通知を行うことがありました。 ユーザーはキャンペーンの通知を受け取り、アプリユーザーの場合はアプリが起動します。 そしていざ通知を行うと アプリにはメンテナンス中の文字が表示されていました 少し経つと事象は改善しましたが、この時は直前に色々とリリース作業も行っていたこともあり、なぜメンテナンス中となってしまったのかわからない状態にありました。 もしかしたら通知を実施した際にアクセス過多となりサーバーが一時的に応答不可と

    検索性能改善のための検索中間テーブルという選択肢 | スペースマーケットブログ
  • DBMSをGoで実装してみた - Sansan Tech Blog

    こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかのやサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そしてブログでは、上記の講義

    DBMSをGoで実装してみた - Sansan Tech Blog
  • 在庫のデータ構造を考える | タイム・コンサルタントの日誌から

    「わたし」は新米のエンジニアである。最近、先輩からオフィス備品類の在庫管理を手伝うようにいわれた。ペンだとかノートだとかフォルダとかいった文具類が中心である。これまである意味、ルーズな管理だったが、経費節減の折、きちんと在庫数量を管理した方がいい、と部長が方針を出したとのことだ。今まで、各人が勝手にネットからモノを注文して取り寄せ、請求伝票だけが部の庶務係に回される。これをやめて、部で必要数量を考え、集中的に購入し、部のキャビネに保管しておく。そして各人が必要時に庶務係に申請して受け取る、という管理方式にかえることになった。その、キャビネの在庫管理の仕組み作りが、「わたし」の仕事だ。 在庫管理の仕事ははじめてだ。だからいきなり部の仕組みを作り始める前に、たとえば自分の家のモノを在庫管理するとしたらどうするかを考えてみることにした。題材は何でも良いが、出入りの多いべ物にしてみよう。 在庫管

    在庫のデータ構造を考える | タイム・コンサルタントの日誌から
  • Phinx

    Super easy to install Most database migration tools are framework dependent, complicated, confusing to install/configure and a pain in the ass to write migrations for. In less than 5 minutes you can install Phinx, create and execute your first migration. Write migrations in Pure PHP or SQL Phinx supports migrations written in both PHP and SQL. Use the PHP syntax to make your migrations portable be

  • そろそろ履歴データについて真面目に考えてみていいんじゃないの - iakioの日記

    WEB+DB PRESS Vol.75の「理論で学ぶSQL再入門/履歴データとの上手なつきあい方」が面白かったと感想を書こうと思っていたらもうVol.76が出そうなのでいい加減慌てて書きます。 さてこの記事では、リレーショナルモデルが苦手とするデータ構造の1つとして履歴データを挙げています。 もしかすると「履歴データ」であるということを気づかずにデータベースの設計、クエリの記述をしたことがあるかもしれません。 この記事ではショッピングサイトの価格表を例としています。 価格表が常に現在の価格のみを扱うのであれば問題ありませんが、ある期間に価格を変えたことも価格表に含めるのであればそれは「履歴データ」となります。記事から一部引用するとこんな感じ item price start_date end_date 懸垂マシーン 18000 2010-01-01 2011-12-31 懸垂マシーン 20

    そろそろ履歴データについて真面目に考えてみていいんじゃないの - iakioの日記
  • テーブル設計 データモデリングのエッセンス(1) | システム設計日記

    何回もデータベースを設計してきた。多くの失敗をしながら。その中から、こうすれば良い設計ができる、というデータモデリングやデータベース設計のノウハウが少し見えてきた。その要点をまとめてみる。 テーブルの役割を一つにする クラス設計と同じで、テーブルの役割は単純にすべきである。 関心のある情報のグループごとに別のテーブルに分ける。 例えば、商品にはさまざな属性情報がある。 ・仕様(色、サイズ、機能など) ・価格や割引ルール ・仕入れルート ・原価 ・在庫数 ・在庫場所 ・販売開始/販売停止の状態や予定日 など。 「商品」という一つの「なんでもテーブル」に情報を詰め込んで、アプリケーションプログラムのほうで、さまざまな検索条件を使い分けるのは、典型的なアンチパターン。 それぞれの情報ごとに別テーブルを用意して、ひとつのテーブルは、一つの関心だけを管理する設計が基。 役割が一つのテーブルの特徴

  • リレーショナルモデルのドメイン設計についての議論

    リレーショナルモデルを実践するには、ドメイン(≒データ型)を如何に正しく設計するかということが極めて重要になる。しかしながら、ドメインをどう設計すべきかという議論はあまりされていないように思う。その結果、ドメインについての理解はあまり進まず、データベース設計に失敗しているパターンが多いように思われる。 というわけで今日のテーマはドメインである。 集合を定義するリレーショナルモデルにおけるデータ型とは何か。リレーショナルモデルを実践するにはまずその点から理解する必要がある。 リレーショナルモデルでは、データ型はドメインと呼ばれる。ドメインとは、その属性(≒カラム)に入るべき値はどういったものかを集合として定義したものだ。言い換えると、属性値とはある集合の要素の一つであると言える。従って、ドメインを設計する際には、SQLで言うところのデータ型、つまりINTやCHARといったものだけでなく、その

    リレーショナルモデルのドメイン設計についての議論
  • データベースアプリケーション開発を炎上させる負のスパイラル

    毎度おなじみ、はてブのホットエントリに「SIをダメにする負のスパイラル」というタイトルのまとめが掲載された。きしだ氏とはかなり視点は違うものの、開発現場の問題点については少し思うところがあるので意見を書いてみようと思う。と言っても、以下の話の内容はデータベースアプリケーションに限定した話であり、またSIerだけに限った話ではないのでその点はご容赦頂きたい。もちろんSIer各位の案件はデータベースは必須なので、エントリで触れる問題点には該当するだろう。 Q.なぜ炎上するのか? A.正しいデータベース設計ができていないから結論から言おう。データベースアプリケーションの開発が炎上するのは正しいデータベース設計ができていないからだ。ここでいう「正しい」とは、論理的に証明できる正しさという意味ではない。「来こうするべき」といった意味で捉えて欲しい。 「炎上」というのは、例えばテストが通らない、バ

    データベースアプリケーション開発を炎上させる負のスパイラル
  • Data Models

    Data Models: A Comprehensive Guide to Structuring Information for Optimal Insights and Decision-Making In the realm of data management, the use of effective data models plays a pivotal role in organizing and representing information in a structured and meaningful way. Data models serve as the blueprint for databases, facilitating efficient data storage, retrieval, and analysis. This article delves

    Data Models
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • - データベースの進化的設計

    データベースの進化的設計 Martin Fowler Pramod Sadalage 原文(Evolutionaly Database Design) ここ何年かで私たちはアプリケーションの開発に即してデータベースの設計を進化させることを可能にする技法を編み出した。このことはアジャイルメソッドにとって非常に重要である。この技法は継続的インテグレーション及び自動化されたリファクタリングをデータベースの開発に適用し、かつDBAとアプリケーション開発者が密接に協力することによって成り立つ。この技法は開発中のシステムや既に開発されたシステムに対しても機能する。 変化に対応する 制限事項 プラクティス集 DBAは開発者と密接に協力し合う 全員が自分のデータベースインスタンスを保有する 開発者は共有マスターに頻繁に結合する スキーマとテストデータから成るデータベース すべての変更でデータベースのリファ

  • Webアプリケーションにおける Job Queue システムの構成例と Worker を作る際に気をつけること - blog.nomadscafe.jp

    Webアプリケーション内で処理を直列に実行せずにJob Queueに回して非同期に実行することが多くなって来て久しいと思いますが、そのおすすめ構成と気をつけることについてつらつらと。 1) 既存のデータベースをキューとして使う構成例 1つ目はMySQLなどのデータベースをキューとして用いる例。既にアプリケーションで利用しているデータベースにキュー用のテーブルを作成して利用します。データベースを利用したキュー管理の仕組みとしてJonk、Qudo、TheSchwartzなどがPerlでは有名どころです。 依存するミドルウェアが増えないので最もシンプルな構成になると思います。 上記の図ではWorkerはアプリケーション内で実行することで冗長性を確保しますが、キューを格納するデータベースはSPOFになります。しかし、、データベースに障害があった場合キューだけでなくすべてのサービスが停止すると思われ

  • データベースのGUIを用いたスキーマ管理に·Database Deployment Manager MOONGIFT

    Database Deployment Managerはスキーマ管理やデータのメンテナンスを行えるデータベース管理ソフトウェアです。 データベースの管理ツールを探している方はDatabase Deployment Managerを試していてはいかがでしょう。デプロイ管理と銘打つほど、スキーマ管理に重点を置いています。 インストーラーです。ウィザードに沿っていくだけで完了します。 完了しました。起動します。 全くの新規から作るか、DBからのリバースエンジニアリングができます。 DB接続設定をします。 実際に接続します。 テーブルを取り込みます。 メイン画面です。左にテーブルの一覧が並び、その下にデータタイプなどが並んでいます。 テーブルの中身を見ることもできます。 テーブル定義をSQLで確認できます。 テーブルを並べてコメントをつけたダイアグラムを作成できます。いわゆるER図の機能です。 D

  • Ywcafe.net

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: Accident Lawyers 10 Best Mutual Funds Healthy Weight Loss Top 10 Luxury Cars All Inclusive Vacation Packages Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy

  • ウェブサイトをスピードアップさせる29の魔法 - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ

    無料で資料をダウンロード SEOサービスのご案内 専門のコンサルタントが貴社サイトのご要望・課題整理から施策の立案を行い、検索エンジンからの流入数向上を支援いたします。 無料ダウンロードする >> グーグルでウェブサイトの表示速度をランキングに影響させているというニュースが出てから、ウェブサイトの高速化の方法が少し話題になりましたが、今回はそんな高速化の手法を29まとめて紹介。SEOはともかく、ページの表示速度が速い方がサイト内の滞在時間やコンバージョン率が改善されることは様々なデータで証明されていますし、サイト運営者であれば一度チェックする価値はあるかも? — SEO Japan ウェブサイトをスピードアップさせよう。コンバージョン率が上がり、回線容量の経費が削減され、そして、オーガニックな検索結果のランキングが上がるなど、理由はたくさんある。 率直に言わせてもらうと、あまりにも頻繁にウ

    ウェブサイトをスピードアップさせる29の魔法 - SEO Japan|アイオイクスのSEO・CV改善・Webサイト集客情報ブログ
  • Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった

    Facebookが15日に発表した新しいサービス「Facebook Messages」は、チャットやつぶやき、そして電子メールなど、自分宛のテキストやメッセージをすべて1つのインボックスで管理できると発表されました。 同社が15カ月かけて開発してきたこの新サービスのバックエンドデータベースは、これまで同社が大規模運用してきたMySQLでも、同社が開発したNoSQLデータベースのCassandraでもなく、グーグルのBigTableをモデルとしてオープンソースで開発された分散データベース「HBase」でした。 Facebookのソフトウェアエンジニア、Kannan Muthukkaruppan氏がFacebookにポストした記事「The Underlying Technology of Messages」で、その技術的背景が紹介されています。 MySQLとCassandraが落選した理由 H

    Facebookが新サービスの基盤にしたのは、MySQLでもCassandraでもなく、HBaseだった
  • sixnine.net

    sixnine.net 2024 著作権. 不許複製 プライバシーポリシー

  • NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現

    モバゲーで知られるDeNAは、バックエンドデータベースにNoSQLを使っていません。なぜか? それはMySQL/InnoDB 5.1の環境で秒間75万クエリという、多くのNoSQLでも実現できないような高性能を実現しているから。DeNAの松信嘉範(まつのぶよしのり)氏は、自身のブログにこんな内容のエントリ「Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server」(英語)をボストしています。 Yoshinori Matsunobu's blog: Using MySQL as a NoSQL - A story for exceeding 750,000 qps on a commodity server 松信氏が指摘するように、大規模なネットサービスを提供している企業の多くは分散環境で

    NoSQLとしてMySQLを使うDeNAが、memcachedよりも高速な75万クエリ/秒を実現
  • トヤヲ.ネット

    このエリアへのアクセスは、ログイン若しくは許可された権限が必要です。 ページが自動的に更新されない場合はここをクリックしてください