[フレーム]
1 - 39 件 / 39件
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
Software Design「データベース速攻入門」に「SQL50本ノック」が掲載されました - LIVESENSE ENGINEER BLOG 最近では、postgres-wasmなど、WebブラウザでDBを動かせるようになってきており、もう少しすれば、WebAssemblyを使って、ブラウザですぐにノックを始められるようになるかもしれません。もしも、また何年か後に記事を更新する機会があれば、試してみたいですね。 Web上からすぐに試せるpostgres-wasmはPagilaのデータを持っていくことが現時点で出来なさそうだったものの、SQLite3 WebAssemblyはSQLiteのデータを持っていけました。SQL50本ノックを気軽に試せそうです。 手順1 sakila-sqlite3をダウンロード まずgithubからsakila-sqlite3をダウンロードします。 gith
SQLiteの公式Webサイトに、SQLite3をWebAssembly化した「SQLite3 WASM/JS」プロジェクトのページが公開されました。 これまでさまざまなWebAssembly版SQLiteの試みが行われてきたなかで、初めてSQLiteの正式なサブプロジェクトとして開発されるWebAssembly版SQLiteになります。 下記はドキュメント「About the sqlite3 WASM/JS Subproject」からの引用です。 this subproject is the first effort "officially" associated with the SQLite project, created with the goal of making WASM builds of the library first-class members of the fa
「えっ、SQLite3ってこんな仕様なの!?」と最近ビックリしたことを紹介します。 たとえばこんな2つのテーブルがあったとします。 CREATE TABLE blogs ( id int primary key, title varchar(32) ); CREATE TABLE comments ( id int primary key, content varchar(32), blog_id int, foreign key (blog_id) references blogs(id) ); ポイントはcommentsテーブルのblog_idにはblogs(id)への外部キー制約が貼ってあることです。 もちろん、blog_idもblogs(id)も、どちらもint型です。 で、以下のようなSQLを発行します(blog_idの値に注目)。 -- blogsにデータを追加 INSERT
「SQLite3 WASM/JS」パブリックベータ公開。SQLite 3.40でサポート開始、WebブラウザなどでSQLiteが実行可能に SQLiteの最新版となるバージョン3.40がリリースされました。本バージョンからSQLiteのソースコードがWebAssembly版の「SQLite3 WASM/JS」へのコンパイルをサポートし、配布される公式のバイナリにLinux版、Windows版、Mac OS X版、Android版などと共に「SQLite3 WASM/JS」が含まれるようになりました。 SQLiteはオープンソースの代表的なリレーショナルデータベースの1つ。軽量かつコンパクトな実装で、クライアント/サーバ形式ではなくアプリケーションに組み込んで利用できる点が最大の特徴です。 先月(2022年10月)に予告なくSQLite3 WASM/JSのページが公式Webサイトで公開され、
SQLite3 WASM/JS、Origin Private File Systemを用いてChrome上の高速なローカルDBが機能するとGoogleが明らかに、廃止されたWeb SQLの代替として利用可能 Google Chromeの開発チームは昨年(2022年)9月に、非推奨となったWeb標準のWeb SQL Database API(以下Web SQL)をChromeから削除、その代替機能としてSQLite開発チームと協力してWebAssembly版のSQLiteを開発し、提供する予定であることを明らかにしていました。 参考:Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として Web SQLはWebアプリケーションがSQLを通じてローカルなリレーショナルデー
クロスプラットフォームのワークスペースアプリ「Notion」を提供するNotion Labsは2024年7月10日(米国時間)に公式ブログで、NotionのブラウザバージョンのデータキャッシュにWebAssembly(WASM)実装の「SQLite3 WASM/JS」(以後、WASM版SQLite3)を採用した事例を紹介する記事を公開した。 2021年ごろ、WindowsおよびmacOS版のNotionデスクトップアプリにおけるパフォーマンス向上を目的にSQLiteを採用した同社は、ネイティブのモバイルアプリでもSQLiteを採用してきた。そして、ブラウザ版アプリには、WASM版SQLite3を採用したという。 Notion Labsは「WASM版SQLite3を採用することで、全ての最新ブラウザでページ間の遷移のパフォーマンスを20%改善できた。インターネット接続など外部要因によりAPI
注意 とっても雑な検証なので参考などにはしないでください。ちょっとした興味で自分用に調べてるだけです。 結論 Echo を利用した秒 1 万リクエストを超えないウェブサービスで、かつ SQLite の機能で要件がみたせるのであれば、SQLite + Litestream 十分と判断出来る結果だった。 利用技術 Load testing for engineering teams | Grafana k6 Grafana に買収された Go で書かれた負荷試験ツール JS でシナリオが書ける Litestream - Streaming SQLite Replication SQLite リアルタイムバックアップツール mattn/go-sqlite3: sqlite3 driver for go using database/sql Litestream も使ってる 安心と信頼の matt
はじめに SQLite3 くらい楽に扱えて、PostgreSQL みたいにネットワーク経由で使える物ないかなーなんて思ったりする事ないですか?ありますよね、あるんです。 postlite このニーズに答えてくれるのが postlite です。postlite を使うと SQLite3 で作られたデータベースファイルを、PostgreSQL の様に扱えます。 仕組みは至って簡単で、僕が開発している go-sqlite3 に PostgreSQL の通信プロトコルのガワと、仮想テーブルを使って PostgreSQL のスキーマを疑似しています。 インストール postlite は go-sqlite3 の vtable を使います。ですので、go install ではなく postlite の README.md に書かれた手順を使わなければなりません。
運用コストを低く抑えつつ全文検索機能を実現したい: SQLite3 で全文検索を実現する fts5 、ベクトル検索を実現する sqlite-vss 2024年02月22日 ドキュメント数が 1 万件に満たない状況で全文検索をしたいドキュメントは頻繁に更新はされずに日時の更新で十分オンラインでのインデキシングを考えなくてよいので、バッチで十分みたいな状態でポータビリティが高く運用コストが低い状態で全文検索を実現したいなと調べていたら SQLite3 が良さそうだったというお話。 全文検索を実現する拡張機能: https://www.sqlite.org/fts5.htmlfts5 から relevancy による order by が使えるようになったらしく、version 4 以前は、relevance をチューニングして改善するのは難しそうだなと思った。この拡張機能が作成された経緯としては
WebAssembly, a.k.a. WASM, is a standard defining a low-level programming language suitable (A) as a target for cross-compilation from many other languages and (B) for running via a virtual machine in a browser. Designed with scriptability via JavaScript in mind, it provides a way to compile C code (among others) to WASM and script it via JavaScript with relatively little friction despite the vast
This site is home to the documentation for the SQLite project's WebAssembly- and JavaScript-related APIs, which enable the use of sqlite3 in modern WASM-capable browsers. Cookie/storage disclaimer: this site requires a modern, JavaScript-capable browser for full functionality. This site uses client-side storage for persisting certain browsing preferences (like the bright/dark mode toggle) but its
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
WebAssembly, a.k.a. WASM, is a standard defining a low-level programming language suitable (A) as a target for cross-compilation from many other languages and (B) for running via a virtual machine in a browser. Designed with scriptability via JavaScript in mind, it provides a way to compile C code (among others) to WASM and script it via JavaScript with relatively little friction despite the vast
書き込みが発生する暗黙的トランザクションも同様のロックが発生します。 ロック中の読み取りは、EXCLUSIVEロック中だけ他プロセスもリードアクセスができなくなります。これ以外のUNLOCKED 、SHARED 、RESERVED中はリードアクセス可能です。 PENDINGはSHAREDロック所有プロセスはリードアクセス可能です。新たなSHAREDロックは獲得できません。 同時読み込みをサポートする仕組みであることがわかります。ただEXCLUSIVEロック中は読み込みも失敗することに注意が必要です。 プログラム(PHP SQLIte3)に落とし込んで考えると以下のようなことがわかりました。 querySingle("select")、query("select")、prepare("select")等でSHAREDロックが発生する exec("insert")等でSHARED、RESERV
はじめに この記事では、公式文書「SQL As Understood By SQLite」を元に、リファレンス目的でSQLite3のSQLを整理します。 自分の理解しやすい概念や呼び名に置き換えています。 SQLの学習には適しません。初学者に不正確な概念を植え付けるかも知れません。 「SQLiteの理解するSQL」を網羅したものではありません。 自分が使わなさそうな、一部の機能や書式は網羅していません。 他のシステムとの互換性のための構文は多くを省略しています。 仕様書である元ドキュメントとは別物ですのでご留意願います。 用語には定義へのリンクが張られ、記事の末尾には索引を設けてあります。 テーブル、レコード、カラム、リレーションなどといったリレーショナルデータベースシステムの概念については扱いません。 SQLiteの導入だとか、使い方(SQLiteコマンドを含む)だとかは扱わず、専らSQ
0.背景 個人的に投資を副業でやっていますが、自宅PCにてそろそろ分析を自動でやりたくなった。 まずはデータを格納する箱(データベース)を学んだので、そのド基礎の部分だけ記録として残しておく。 動作環境 OS : Windows10 pro Python : 3.8.3// Miniconda 4.9.1 sqlite3:2.6.0 (管理ツール:DB Browser for SQLite ※(注記)すぐに中身を見るときに便利) ※(注記)sqlite3 モジュールをインストールする必要はありません。Python(2.5以降)の標準ライブラリに含まれています。 1.データベース作成〜操作 データベースをExcelで考えるととりあえずは理解しやすいと思ったので、今回は最初の部分に関してExcelに置き換えて説明する。 1まずはデータベースを新規作成して、接続する Excelファイルを作成して、Excelを開
This is a placeholder for a terminal-like view which is not in the default build. -- ================================================== -- Use ctrl-enter or shift-enter to execute sqlite3 -- shell commands and SQL. -- If a subset of the text is currently selected, -- only that part is executed. -- ================================================== .nullvalue NULL .headers on About SQLite Fiddle cl
4月10日、Python 3.12.3および3.13.0a6リリースがリリースされた。 Python 3.12.3は300以上のコミットを含む最新のメンテナンスリリースで、これまでになく安定し、セキュリティが高く、バグが少ないバージョンである。 一方、Python 3.13.0a6は3.13の最終アルファリリースであり、新機能の追加期限まであと1ヶ月とされている。 以下に示すような数多くの改善や新機能が盛り込まれている。 Python 3.13.0a6の新機能 例外トレースバックのカラー化:エラーメッセージの可読性が向上し、デバッグがより容易になる。 実験的なJITコンパイラの追加:Pythonプログラムの実行速度の向上が期待される。 インクリメンタルガベージコレクション:大量のオブジェクトを扱うプログラムでのコレクションの停止時間を短縮。 ドキュメント文字列の先頭インデントの削除:メモリ
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Rails 7.1 comes with an optimized default SQLite3 adapter connection configuration - BigBinary Blog 原文公開日: 2023年10月30日 原著者: Vishnu M 参考: 週刊Railsウォッチ20231004: SQLite3アダプタのコネクション設定のパフォーマンスチューニング Rails 7.1では、Active RecordのSQLite3アダプタのコネクション設定が現代のRailsアプリによりふさわしい形で更新されました。 設定の変更について説明する前に、PRAGMA(プラグマ)について理解しておきましょう。PRAGMAは特殊なSQLステートメントで、データベースのさまざまな振る舞いや設定をクエリまたは操作するのに用いら
本連載では、ベジェ曲線でお絵描きするWebアプリを使って、描いた絵を公開できる掲示板を開発しながら、Pythonを使ったバックエンド開発について学んでいきます。連載第4回は、まずVisual Studio Codeを使ったデータベース「SQLite3」を解説。それからPythonでプログラミングしてSQLite3を解説します。 はじめに 前回は、Pythonから出力したWebページを表示する方法を解説しました。今回は、本連載で扱うデータベースについて解説します。 本連載ではデータベースを使いますが、1番メジャーな「MariaDB」などの「MySQL」系のデータベースではなく「SQLite3」を使います。なぜならPythonの標準モジュールだけで使えるデータベースはSQLite3だけだからです。廉価なレンタルサーバでは「pip」でPythonの機能拡張ができないので、標準モジュールだけでPy
SQLiteの際立った特徴の一つは動的な型システムを採用していることです。 一般的なリレーショナルデータベースであれば、カラムの型がレコードによって異なるなんてことはありませんが、SQLiteはその限りではありません。 整数型と宣言したカラムにテキスト型のレコードを格納できます。 これはバグではなくて仕様のため、SQLiteのデータ型のドキュメント冒頭で丁寧に解説されていますし("Flexible typing is a feature of SQLite, not a bug.")、"The Advantages Of Flexible Typing"というそのものズバリのドキュメントも存在します。 とはいえ、他のRDBMSに慣れ親しんだ人にも驚きが少ない仕様を提供するためか、型に厳格な STRICT テーブルがバージョン3.37(2021年11月27日リリース)から提供されました。 SQ
2024年06月06日 全文検索エンジン Bleve で日本語形態素解析をおこなう で bleze x kagome が気になってやろうとしたが、どうせなら一捻りしたいなと思い、Goの全文検索ライブラリである blevesearch の最新リリースを眺めていると https://github.com/blevesearch/bleve/releases/tag/v2.4.0 v0.2.4 からvector serach が可能に backend は faiss。 テンションが上ったので、最初は、kagome x blevesearch x ANN の構成で vector indexing, query のベクトル化もGo 言語かつ検索サーバーを運用しないで完結する構成による近似近傍探索をやろうと思っていた。。。が、文章をベクトル化するお手軽な方法(Python だとが Go で見つけられなか
はじめに おそらくですが大企業では、会社の在庫数・在庫金額・出荷数量統計 回転日数等・粗利等々を瞬間に見れるような端末用ソフトを各営業が 使われているのではないかと思います。 私は中小企業勤務の為、そんな便利なシステムを導入してくれるわけでもなく、 基幹のオラクルのRDBMSよりクライアントソフトにて定期的に吐き出される各種の CSVデータをソートや加工して、必要なデータを参照してました。 いちいち各種データをそれぞれ別々のCSVで閲覧・整理・加工しないといけないのも 非効率ですし、エクセルでシート毎に各種データのCSVを貼り付けてVlookで 参照するのも、データ量が増えてくるとメモリを無駄に使いますしエクセル関数が 動作するだけで数分待つような事が起こります。 ※(注記)実際に私が使ってたエクセルファイルは単体で200mb超えており、 開くだけで数分かかっていた状況でした。) やりたい事 1:
sqlite3のデフォルトでは外部キー(foreign key)を使用できない。 (CREATE TABLEで、外部キーのあるテーブル自体は作成できるが、使用時にその外部キー制約が完全無視される。。。) 以下サンプルテーブル test2テーブルにtestテーブルのid列を参照する外部キーtest_id列を作成してみる。 サンプルテーブル CREATE TABLE test( id int primary key, name varchar(32) ); CREATE TABLE test2( id int primary key, name varchar(32), test_id int, foreign key (test_id) references test(id) ); test2テーブルに外部キー(test_id)は問題なく作成できるが、このままでは外部キーは有効になっていない
あなたにとって重要なトピックや同僚の最新情報を入手しましょう最新の洞察とトレンドに関する最新情報を即座に受け取りましょう。 継続的な学習のために、無料のリソースに手軽にアクセスしましょうミニブック、トランスクリプト付き動画、およびトレーニング教材。 記事を保存して、いつでも読むことができます記事をブックマークして、準備ができたらいつでも読めます。
PHP+PDOでsqlite3のデータベースを使うことがありました。 データ件数は、1日1000件ぐらい増える感じで、1万件、5万件、10万件と増えていきます。 当然追加(INSERT)する際は、PK(実際はインデックスなし)の存在を確認してInsert Or Updateな処理が必要になります。 件数が多くなるとトランザクションは必須です。 テストデータは、5万件超えのもので確認しています。 何も考えずに、select pk from tbl where pk=?的なSQLで検索して、存在しなければInsert、存在すればUpdateという処理にすると (以下、msec=ミリ秒です。) select発行コストは、1件あたり0.001sec(1msec)とごくわずかな時間でした。が、 UPDATE発行コストは、1件あたり0.06sec(60msec)もかかります。 10件で、600msec
はじめに 4/1 に MySQL に please 句を入れるのが流行っていた様です。 そして各 RDBMS も追従して please 句を入れる祭が開催されていた様です。 まずは PostgreSQL そして Oracle 完全にノリ遅れてしまいました。大失態です。 気付いたのは 4/4 の昨日です。 これは乗るしかない 既に 4/5 の午前 0 時なのですが、SQLite3 に please 句を入れるパッチを書きました。 diff --git a/src/parse.y b/src/parse.y index b748e1917..782199fb7 100644 --- a/src/parse.y +++ b/src/parse.y @@ -151,6 +151,12 @@ ecmd ::= explain cmdx SEMI. {NEVER-REDUCE} explain ::=
SQLite開発チームは6月25日(現地時間)、SQLiteデータベースの最新版v3.39.0をリリースしました。SQLiteはLinux、Mac、Windows等の各種プラットフォームで利用できる軽量データベースで、バイナリやソースコードを公式サイトよりダウンロードすることができます。 SQLite 3.39は、2022年になってから2番目のメジャーバージョンアップ版で、長い間待ち望まれていたRIGHT/FULL OUTER JOINのサポートが追加されています。結合演算子が 「RIGHT JOIN」または「RIGHT OUTER JOIN」の場合、ONまたはUSINGフィルタリング句が適用されると、右側の入力データセットにある行が左側のデータセットにない場合も、1行出力されます。この場合、通常なら左側の入力データセットからコピーされた値を含むはずの列に NUL値が含まれます。 また、P
SQLite 3.45 Released With JSON Functions Adapted To Use JSONB Written by Michael Larabel in Programming on 15 January 2024 at 03:05 PM EST. 6 Comments SQLite 3.45 was released today with the SQLITE_DIRECT_OVERFLOW_READ optimization being enabled by default that can help for apps relying on SQLite and doing a lot of reads of large BLOBs or strings deliver better read performance. There are also que
SQLite 3.40 Released With WASM Support For Web Browsers, Recovery Extension Written by Michael Larabel in Programming on 16 November 2022 at 02:00 PM EST. 26 Comments While Microsoft is celebrating the GA release today of SQL Server 2022, open-source developers have SQLite 3.40 premiering today as the newest version of this embed-friendly SQL database implementation widely used by many cross-platf
SQLite 3.38.0 introduced improvements to JSON query syntax using -> and ->> operators that are similar to PostgreSQL JSON functions. In this post we will look into how this simplifies the query syntax. Installation The JSON functions are now built-ins. It is no longer necessary to use the -DSQLITE_ENABLE_JSON1 compile-time option to enable JSON support. JSON is on by default. Disable the JSON inte
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
CREATE文とINSERT文のサンプル それでは接続からSQL実行までのサンプルです。以下のサンプルはカレントディレクトリ直下にexample.dbというdbファイルを作成し、CREATE文でテーブルを作成後、INSERT文でデータを挿入してみます。 import sqlite3 # 接続。なければDBを作成する。 conn = sqlite3.connect('example.db') # カーソルを取得 c = conn.cursor() # テーブルを作成 c.execute('CREATE TABLE articles (id int, title varchar(1024), body text, created datetime)') # Insert実行 c.execute("INSERT INTO articles VALUES (1,'今朝のおかず','魚を食べました'
============= この記事は古いため、正常に動作しない可能性があります。 参考程度とさせて頂きます。 ============= SQLite3 WASM 初級編になります。
CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
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
SQLiteはProductionで使えない?! よくSQLiteは遊びだけということ言われますが、実は結構SQLiteだけで行けます。 少なくとも趣味で作るサイトだと、そもそもそんなにトラフィックも来ないですし。 今ちょっとしたRailsのジョブバックエンドのGemを作っていて(Belated), そしてこのGemはSQLiteで使えて、かつRedisなくても簡単に誰でも使えるようにしようとしています。 ですが、今簡単な負荷テストをやっていて、そこで ActiveRecord::StatementInvalid: SQLite3::BusyException: database is locked というエラーが発生してしまいました。これはライトしている時にリードしようとしたからです。 しょうがない、PostgreSQLにするか・・・とも思ってしまいがちですが、実はSQLiteは同時にラ
トークナイザを実装する必要がある。 FTS FTS3/4 FTS5 トークナイザ 形態素解析などして検索ワードを作る。 組込トークナイザ トークナイザ 概要 unicode61 デフォルト。Unicode6.1規格に基づく ascii ASCIIコードポイント中心 porter ポーターステミングアルゴリズムに基づく すべて英語用。日本語のテキストに対してはまったく役立たず。 外部トークナイザ ICU Mecab FTS5はICUを使えない。FTS3/4は使えるらしい。 FTS5 ICUトークナイザーは使用できません FTS4 ICUライブラリ カスタムトークナイザ カスタムトークナイザ FTS5 ICUトークナイザーは使用できません SQLite3 FTS5用Mecabトークナイザ SQLite3 FTS5用Mecabトークナイザ ドンピシャ。超感謝! 所感 次回、やってみよう。 対象環
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く