- 大変参考になった記事
0. 環境
- RDBでトータルの容量は4TB
- ワークステーションはオンライン接続可能
- 作業は1人:サーバ・クライアント構築は必要なし
- Rawデータはクラウドサーバに保存されている
1. WS選定
- WS
プロセッサはXeonで検討, Corei9も候補に入れたがXeon - WS周辺機器
- NAS → 検討して中止(費用面・運用面←そもそも共有しない・RAID不要)
- 外付けHDD (8TB ×2)
2. SQL選定
- データベース作成
-
SQLiteでDB作成
- SQLite install
https://www.sqlite.org/download.html
- SQLite install
-
DB Brower for SQLiteの存在を後から知る
https://sqlitebrowser.org/
https://dskevin.hatenablog.com/entry/2022/02/27/120000
-
3. RからSQLite操作
# package install
install.packages("RSQLite");library(RSQLite)
install.packages("dplyr");library(dplyr)
# データベース接続
con <- DBI::dbConnect(RSQLite::SQLite(), dbname = "対象データベースファイル名")
# 参照したテーブル指定
my_tab <- tbl(con, "テーブル名1")
my_tab2 <- tbl(con, "テーブル名2")
my_tab %>%
head()
my_tab2 %>%
head() %>% as.data.frame() %>% left_join( my_tab, my_tab2, by= atc) -> my_tab3
# sql言語で検索
dbGetQuery(con,"SELECT * FROM テーブル名 WHERE in ('条件');")
# sql言語で集計
dbGetQuery(con,"SELECT count(*) FROM テーブル名 WHERE atc in ('条件');")
# sql言語でjoin
dbGetQuery(con,
"SELECT *FROM テーブル名1 INNER JOIN テーブル名2 ON ( '条件' = '条件');"
) %>%
head() %>% as.data.frame() -> db_tab #確認するため先頭数行のみオブジェクト化
db_tab %>% View()
*役に立ったその他の情報
はじめてのSQLite
https://iatlex.com/linux/first_sqlite
Package ‘RSQLite’
https://cran.r-project.org/web/packages/RSQLite/RSQLite.pdf
SQLite/基本操作
https://ja.wikibooks.org/wiki/SQLite/%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C
dplyrと高速処理
http://kohske.github.io/ESTRELA/201410/index.html