タグ

ブックマーク / qiita.com (216)

  • Oracle Database 23ai + APEX + LangServeで外部サービスを使わずにRAGアプリを実装してみた - Qiita

    Oracle Database 23ai + APEX + LangServeで外部サービスを使わずにRAGアプリを実装してみたoracleDatabaselangchainLLM23ai EmbeddingモデルやLLMも含め、外部サービスを使わず、すべてローカル環境でRAGアプリを実装してみました。 社内情報など機密性の高いデータを生成AIと組み合わせて活用する場合、やはりセキュリティが課題となります。 記事のように外部サービスを使わず実装できると、そういった課題が払拭でき、より簡単にRAGを使った生成AIアプリを試せます。 なお今回はEmbeddingモデルとLLMの稼働には LangChain を使いました。 また LangChain で稼働させた各モデルを LangServe を使ってREST APIアクセス可能にし、Oracle APEXのアプリから利用できるようにしました。

    Oracle Database 23ai + APEX + LangServeで外部サービスを使わずにRAGアプリを実装してみた - Qiita
  • データベースの正常性やパフォーマンスを可視化するDatadog Database Monitoring - Qiita

    記事では業務で使用していて、非常に有用に感じたDatadogの Database Monitoring機能について、どのような情報が取得できるかをキャプチャと共に紹介します。 Datadog Database Monitoring (DBM)について 公式ドキュメントはこちらとなります。 https://docs.datadoghq.com/ja/database_monitoring/ Datadog Database Monitoringは、すべてのホストにわたるデータベースの詳細な可視性を提供してくれる機能です。 何か問題が発生した時のトラブルシューティングや過去のクエリパフォーマンスメトリクスを掘り下げることが可能です。 執筆時点で対応しているDBは次の通りです。 Postgres MySQL Oracle SQL Server 今回はSQL Server環境で有効化しています。

    データベースの正常性やパフォーマンスを可視化するDatadog Database Monitoring - Qiita
  • Oracle Database をサブスクで利用する (AWS RDS for Oracle ・ OCI BaseDB) - Qiita

    この記事は、JPOUG Advent Calendar 2023 Advent Calendar 2023 に参加して、13日目です。 記事では Oracle Database をサブスクリプションモデルで提供するAWSとOCIで使う上で契約面や許諾面を解説するポストです。サービス選定の助けになるような記事にしています。技術的なところばかり注目して契約面が疎かになると、後に大きな問題を起こすこともあります。 【注意】 BYOLでのライセンスの取り扱いや条件は、そのお客様ごとの契約によって条件が異なる事があります。記事では一般的に良くあるケースをご紹介をします。契約ごとのライセンスの扱い方は、日オラクルの営業担当にお問い合わせください。調査して回答してもらえます。

    Oracle Database をサブスクで利用する (AWS RDS for Oracle ・ OCI BaseDB) - Qiita
  • Snowflake で1万"列"データを扱う技術 - Qiita

    そうです。わずか10行しかないデータですが、 15,000列 あります。 「それデータモデリングをミスってるやん」というツッコミはあると思いますが、今回はそのあたりについてはノーコメントです。諸事情ありこのようなデータを扱うことになりました。 今回は Snowflake でもなかなか扱うことが難しい (横方向に) クソデカデータの世界 をご案内したいと思います。 クソデカテーブルを作る まずテーブルを作ります。 この時点でエラーが出てくれるならまだ良かった。。。 なんとこのクエリは問題なく実行でき、テーブルは作成できます。 作成できてしまいます。 作成できてしまったが故に、「さすが Snowflake、列数が多いテーブルも簡単に扱えるんだね!!」と高をくくってしまいます。 ちなみに PostgreSQL の場合は1テーブルあたり最大 1,600 列だそうです。まぁそれだけあれば普通は困らな

    Snowflake で1万"列"データを扱う技術 - Qiita
    atsuizo
    atsuizo 2023/12/09
    なかなか地獄味ある。
  • ChatGPTにSQLチューニングさせてみた - Qiita

    ChatpGPT(モデルはGPT-4を利用)にシンプルなSELECT文とテーブル・インデックス定義を与えてSQLチューニングの案出しをしてもらいました。 ちなみに、プロンプトやChain of Thought などの工夫は一切せず、シンプルに質問をぶつけています。 以下、注意事項。 実務利用と比べるとシンプルすぎるのでお遊びの範囲を超えていません。 どのチューニング案が適切かは多くの要素(例えば以下)が関わってくるので、一概に判断できず実際に測定を行い確認する必要があります。 データ量やその分布 ハードウェアやRDBMSの種類・バージョンなどの環境 性能要件(何秒以内のレスポンスが必要か、同時実行数はいくつかなど) ChatGPTへの質問とその回答 1. 単純なインデックスが不足しているケース 質問 以下のSQL文の性能を改善するにはどうしたらよいでしょうか。 select custome

    ChatGPTにSQLチューニングさせてみた - Qiita
  • 【ChatGPT】プロンプトパターンまとめ - Qiita

    はじめまして、sonesuke(https://twitter.com/sonesuke)です。 LLMにどっぷりハマっています。 TL; DR 16のプロンプトパターンを日語の例をつけて、まとめてみた。 読んだ論文はこれ。 https://arxiv.org/pdf/2302.11382.pdf より高度なプロンプトエンジニアリングの話題はこちら プロンプトパターン 1. メタ言語パターン: The Meta Language Creation いつ使うか? 自然言語ではない方が、より簡潔で明確に表現できるとき プロンプトコンセプト 例 原文プロンプト “From now on, whenever I type two identifiers separated by a “→”, I am describing a graph. For example, “a → b” is des

    【ChatGPT】プロンプトパターンまとめ - Qiita
  • DBからの更新日時に基づく差分データ抽出 - Qiita

    (この方法は dbt のincremental modelsに関するドキュメントの models/stg_events.sql を参考にしています) この方法は差分データ抽出する際にデータソース側でデータ変更が発生していなければ概ね問題ないのですが(データソース側でレコードがDELETEされるケースを考慮しなければ)、データソース側でデータの追加・更新が発生している場合は、差分データを抽出し損ねる可能性があります。 例えば以下のようなケースです。 トランザクション①が購入ID=101のレコードをINSERTするが、何かの原因(別の処理をする、ネットワークで少し待たされるなど)でコミットはすぐにはされない。 トランザクション②が購入ID=102のレコードをINSERTし、すぐにコミットされる。 1回目の差分データ抽出の処理が動く。この時点で購入ID=102のレコードはコミット済みのため抽出さ

    DBからの更新日時に基づく差分データ抽出 - Qiita
  • Cloud Native Kafka - ZookeeperのいらないKafka - Qiita

    ** エントリはDistributed computing Advent Calendar 2021の12/22エントリです。 はじめに Apache Kafka v.2.8はKIP-500という特別な機能改善が含まれたリリースでした。この変更はKafkaの全体構成への大規模な変更であり、Cloud Nativeな環境で動くKafkaにとって大きな前進となる変更です。KIP-500は現時点 (2021年クリスマス時期) でもまだ番稼働で利用できるステータスとはなっていませんが、最も新しいKafka 3.0では主要な機能は既に含まれた状態となっています。 エントリではKIP-500の概要ならびにこの変更がもたらすCloud Nativeな世界におけるKafkaについてご紹介します。 エントリは先日 (2021/12/17) 実施されたApache Kafka Meetup Japan

    Cloud Native Kafka - ZookeeperのいらないKafka - Qiita
  • Apache KafkaのProducer/Broker/Consumerのしくみと設定一覧 - Qiita

    Producerの主なパラメータ Producerの主要なパラメータを以下に示します。全パラメータの詳細は公式ドキュメントを参照してください。 bootstrap.servers デフォルト値:なし 説明:Brokerの接続先リスト。いずれかのBrokerにアクセスして初期接続を確立する。 send.buffer.bytes デフォルト値:128 KB 説明:TCP送信ソケットバッファのサイズ。-1に設定するとOSのデフォルト値が使用される。 receive.buffer.bytes デフォルト値:32 KB 説明:TCP受信ソケットバッファのサイズ。-1に設定するとOSのデフォルト値が使用される。 batch.size デフォルト値:16 KB 説明:1 Record Batchの最大サイズ。Record Batchがこのサイズに達するとリクエストが送信される。 max.request.

    Apache KafkaのProducer/Broker/Consumerのしくみと設定一覧 - Qiita
  • OID 別名型を使って PostgreSQL の内部情報を取り出す - Qiita

    こちらは PostgreSQL Advent Calendar 2021 の 21 日目の記事です。 今回は、PostgreSQL の内部情報を調べるときに役立つ、regclass や regnamespace などの OID 別名型 を紹介します。 PostgreSQL では、テーブルやスキーマなど、すべてのオブジェクトには OID と呼ばれる識別子が割り振られていて、システムカタログと呼ばれる内部情報が入ったテーブルでは、この OID が至るところに出てきます。 例えば、システムカタログ pg_class にはテーブルやインデックスなど、リレーションの情報が入っています。 =# SELECT oid, relname, relnamespace, relowner FROM pg_class; oid | relname | relnamespace | relowner ------

    OID 別名型を使って PostgreSQL の内部情報を取り出す - Qiita
  • Oracle Database から PostgreSQL への接続を試す - Qiita

    この記事は JPOUG Advent Calendar 2021 16 日目の記事です。 昨日は ora_gonsuke777 さんの「CMAN(Oracle Connection Manager) と ロールベース・サービス/NLB で OCI DBCS Data Guard構成 の Primary接続 をシングル・エンドポイント化してみる。(Oracle Database, Oracle Cloud Infrastructure)」でした。明日は tomo さんの記事です。 Oracle Database Gateway for ODBC の機能により、ODBC ドライバーを使って PostgreSQL データベースに接続する DATABASE LINK を作成します。 Oracle Database Gateway for ODBC Oracle Database Gateway f

    Oracle Database から PostgreSQL への接続を試す - Qiita
  • PUBLICロールにREVOKEってるやついる? - Qiita

    (ネタとしてはもう古い・・・) 記事はPostgreSQL AdventCalenderの16日目の記事です。 はじめに 記事はPostgreSQL 15develを対象に確認した結果を使用しています。開発中のものであるため、リリース時には挙動が変わっている可能性がある点にご注意ください。 元々はROLEの設計について書こうと思っていたのですが、定義済みロールに見かけない子(pg_database_owner)がいたので気になって調べていたら、皆様ご存知のPUBLICロールへのREVOKEがPostgreSQL 15からは不要になるという話があったので確認してみたという話になります。 (割とインパクトのある変更なので、既にご存知の方も多いかもですが汗。) 環境 CentOS 7 PostgreSQL 14.1 15devel(2021/12/8時点) 定義済みロール(Predifine

    PUBLICロールにREVOKEってるやついる? - Qiita
    atsuizo
    atsuizo 2021/12/16
    「public使うなよ」とは言ってるけどrevokeは徹底してなかったな。
  • AWSのEC2にOracle19cをインストールしてDBを作成する - Qiita

    Oracle Bronzeの資格学習のため、AWSOracleDB環境を構築する事にしたが、とても苦戦したのでメモ。 →結論:インストール可能。しかし、Oracle19cはRedHat8には対応してなさそう。(java関連のエラーが発生した) 勉強に使う分には問題無い思う! →追記:2020/12/1 RedHat7だと正常にインストールされた。RedHat7の場合はcompat-libcap1-1.10-7.el7.x86_64.rpmのインストールは不要。 環境 EC2のOS : Red Hat Enterprise Linux 8 Oracle : Oracle Database 19c 準備作業 ・OSがRedHatのEC2作成 ・Oracleアカウントの作成 ・自身のPCOracle Database 19cのLinux x86-64のRPMをダウンロード ・EBSを30Gに

    AWSのEC2にOracle19cをインストールしてDBを作成する - Qiita
  • PostgreSQLのPub/Sub機能とJavaのクライアント実装 - Qiita

    フューチャー Advent Calendar 2019 18日目の記事です。 Pub/Sub型のメッセージングアーキテクチャを採用するにあたっては、kafkaなどのブローカーミドルウェアや、Amazon SNSGoogle Cloud Pub/Subなどのマネージドサービスを利用するケースが多いかと思いますが、実はPostgreSQLでもPub/Subができます。 すでに業務でPostgreSQLを使っていれば、新たにPub/Subブローカーを構築しなくても、疎結合なシステム間通信を簡易的に実現できます。 記事ではこの機能の紹介と、Pub/SubクライアントをJavaで実装する場合の選択肢、考慮点を示しています。 ※実行環境はPostgreSQL 11.2とJava 11です ※データベースの文字コードはUTF-8としています NOTIFY/LISTEN PostgreSQLのPub/

    PostgreSQLのPub/Sub機能とJavaのクライアント実装 - Qiita
  • Microsoft Azure のオススメの学習方法についてまとめてみる - Qiita

    はじめに 新しいサービスにはじめて触れるとき、どうやって学べば良いかが分からずに困ることってありませんか? 特にパブリッククラウドは、サービス数が非常に多い上にアップデートが早いため、キャッチアップするのが大変ですよね。 記事では、Microsoft Azure を学びたいと思っている方を対象に、オススメの学習方法についてまとめていきます。 想定読者 記事が以下の皆様の Azure 学習の一助になれば幸いです。 これから Azure を学ぼうと思っている方 既に Azure を使っており、もっと学びたい方 AWS (Amazon Web Services) 経験者の方で Azure に興味がある方 GCP (Google Cloud Platform) 経験者の方で Azure に興味がある方 主要な学習リソースの概要 色々な学習リソースがありますが、Azure 公式ドキュメント と

    Microsoft Azure のオススメの学習方法についてまとめてみる - Qiita
  • VSCodeを使ってAWS EC2のソースコードを編集する - Qiita

    やりたいこと EC2インスタンス上で直接開発できれば楽じゃない? VSCodeを使って、AWS EC2のインスタンス上でWebアプリ開発できるようにします。 使用環境 クライアント ・Windows10 Home (Build 1809) ・Visual Studio Code (ver 1.39.2) AWS EC2インスタンス ・Ubuntu Server 18.04 LTS ・キーペア有り ・自作のWebアプリ(Laravel)を配置。←これの開発をやりたい 早速設定してみよう まず、VSCodeを使ってEC2のファイルシステムに接続するには、 VSCodeにSSHの拡張機能をインストールする必要が有ります。 今回は、Microsoftがリリースしている「Remote - SSH」を使用します。 この拡張をインストールしましょう。 インストールが完了すると、メニューにリモート接続のア

    VSCodeを使ってAWS EC2のソースコードを編集する - Qiita
  • RDBMS特にDWHにおけるユーザー定義関数呼び出しオーバーヘッドによる性能劣化について - Qiita

    はじめに 多くの RDBMS では手続き型言語でユーザー定義関数(ストアドファンクション)を作成することができます。コード・ロジック再利用の観点からは有用ですが、SQL文からのユーザー定義関数の呼び出しはかなりオーバーヘッドがあり、呼び出し回数によっては性能劣化の原因になることが多いです。 この事は DWH 系システムでは特に顕著で、データモデルやシステムのアーキテクチャの設計方針に影響を与えるため、DB/DWH の技術者は大体知っているのですが、アプリ技術者には知らない人も多いようです。 そこで今回は、Oracle, SQL Server, MySQL, PostgreSQL において、ユーザー定義関数を利用した場合とそうでない場合でどれぐらい性能差があるかを実測してみたいと思います。 また、最後の章で回避策もいくつか紹介します。 実測環境 今回は Amazon EC2 のm5.larg

    RDBMS特にDWHにおけるユーザー定義関数呼び出しオーバーヘッドによる性能劣化について - Qiita
    atsuizo
    atsuizo 2020/09/28
    確かにこの使い方だと遅いよね、とは思うけど、こんなに差が出るとはね。
  • PostgreSQLの概念図(データベースクラスタ/データベース/スキーマ/テーブル) - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    PostgreSQLの概念図(データベースクラスタ/データベース/スキーマ/テーブル) - Qiita
  • PostgreSQLの見積もりについて調べてみた - Qiita

    はじめに PostgreSQLの見積もりは、テーブル、インデックスの他にも、WALファイル、アーカイブログ等の様々なファイルを含めて実施する必要があります。 とは言え、容量の大部分を占めるのはテーブルとインデックスであることは他のRDBと変わりはありません。 今回はテーブル・インデックスの見積もりについて調べてみました。 (間違いがあったら教えてください) PostgreSQLの見積もりの基(だと思うこと) PostgreSQLの見積もりについて基と思われることを書いてみます。 ページ PostgreSQLでは、実ファイル中のデータはページという単位で分かれています。 1ページは8192bytesでその中にテーブル・インデックスのデータが格納されます。 ページに含まれるデータは下表のアイテムで構成されます。 (引用:- PostgreSQL 11.5文書 68.6. データベースページ

    PostgreSQLの見積もりについて調べてみた - Qiita
  • コンテナ型仮想化技術 Study07 / ストレージ - Qiita

    はじめに お勉強のログです。Persistent Volume辺り。 関連記事 コンテナ型仮想化技術 Study01 / Docker基礎 コンテナ型仮想化技術 Study02 / Docker レジストリ コンテナ型仮想化技術 Study03 / Docker Compose コンテナ型仮想化技術 Study04 / Minikube & kubectl簡易操作 コンテナ型仮想化技術 Study05 / Pod操作 コンテナ型仮想化技術 Study06 / ReplicaSet, Deployment, Service コンテナ型仮想化技術 Study06' / Kubernetesネットワーク問題判別 コンテナ型仮想化技術 Study07 / ストレージ コンテナ型仮想化技術 Study08 / Statefulset, Ingress コンテナ型仮想化技術 Study09 / Hel

    コンテナ型仮想化技術 Study07 / ストレージ - Qiita