All Projects → ropensci → Nodbi

ropensci / Nodbi

Licence: other
Document DBI connector for R

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Nodbi

Mage2vuestorefront
Magento to Vue-storefront datapump - synchronizes Products, Categories and Product-to-category links between your Magento2 API and NoSQL database of vue-storefront
Stars: ✭ 183 (+226.79%)
Mutual labels:  redis, mongodb, elasticsearch, nosql
Nosqlmap
Automated NoSQL database enumeration and web application exploitation tool.
Stars: ✭ 1,928 (+3342.86%)
Mutual labels:  redis, mongodb, nosql, couchdb
Pifpaf
Python fixtures and daemon managing tools for functional testing
Stars: ✭ 161 (+187.5%)
Mutual labels:  redis, mongodb, elasticsearch, couchdb
Firecamp
Serverless Platform for the stateful services
Stars: ✭ 194 (+246.43%)
Mutual labels:  redis, mongodb, elasticsearch, couchdb
Endb
Key-value storage for multiple databases. Supports MongoDB, MySQL, Postgres, Redis, and SQLite.
Stars: ✭ 208 (+271.43%)
Mutual labels:  database, redis, mongodb, sqlite
Sofa
easy R interface to CouchDB
Stars: ✭ 30 (-46.43%)
Mutual labels:  database, couchdb, r-package, rstats
Elastic
R client for the Elasticsearch HTTP API
Stars: ✭ 227 (+305.36%)
Mutual labels:  database, elasticsearch, r-package, rstats
Db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
Stars: ✭ 2,832 (+4957.14%)
Mutual labels:  database, mongodb, sqlite, nosql
Couchdb Net
EF Core-like CouchDB experience for .NET!
Stars: ✭ 50 (-10.71%)
Mutual labels:  database, nosql, couchdb
Nano Sql
Universal database layer for the client, server & mobile devices. It's like Lego for databases.
Stars: ✭ 717 (+1180.36%)
Mutual labels:  database, sqlite, nosql
Mall Swarm
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
Stars: ✭ 7,874 (+13960.71%)
Mutual labels:  redis, mongodb, elasticsearch
Zxw.framework.netcore
基于EF Core的Code First模式的DotNetCore快速开发框架,其中包括DBContext、IOC组件autofac和AspectCore.Injector、代码生成器(也支持DB First)、基于AspectCore的memcache和Redis缓存组件,以及基于ICanPay的支付库和一些日常用的方法和扩展,比如批量插入、更新、删除以及触发器支持,当然还有demo。欢迎提交各种建议、意见和pr~
Stars: ✭ 691 (+1133.93%)
Mutual labels:  redis, mongodb, sqlite
Newsblur
NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument.
Stars: ✭ 5,862 (+10367.86%)
Mutual labels:  redis, mongodb, elasticsearch
Stream Reactor
Streaming reference architecture for ETL with Kafka and Kafka-Connect. You can find more on http://lenses.io on how we provide a unified solution to manage your connectors, most advanced SQL engine for Kafka and Kafka Streams, cluster monitoring and alerting, and more.
Stars: ✭ 753 (+1244.64%)
Mutual labels:  redis, mongodb, elasticsearch
Restheart
RESTHeart - The REST API for MongoDB
Stars: ✭ 659 (+1076.79%)
Mutual labels:  database, mongodb, nosql
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (+1303.57%)
Mutual labels:  redis, mongodb, elasticsearch
Mongo Cxx Driver
C++ Driver for MongoDB
Stars: ✭ 792 (+1314.29%)
Mutual labels:  database, mongodb, nosql
Dev Setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Stars: ✭ 5,590 (+9882.14%)
Mutual labels:  redis, mongodb, elasticsearch
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 7,712 (+13671.43%)
Mutual labels:  database, mongodb, sqlite
Springbootexamples
Spring Boot 学习教程
Stars: ✭ 794 (+1317.86%)
Mutual labels:  redis, mongodb, elasticsearch

nodbi

Project Status: Active – The project has reached a stable, usable state and is being actively developed. cran checks R-CMD-check codecov rstudio mirror downloads cran version

nodbi provides a single user interface for interacting with many NoSQL databases.

So far we support the following DBs:

  • MongoDB
  • Redis (server based)
  • CouchDB
  • Elasticsearch
  • SQLite

Currently we have support for data.frame's for the following operations

  • Create - all DBs
  • Exists - all DBs, except MongoDB
  • Get - all DBs
  • Query - all DBs, except Redis
  • Delete - all DBs
  • Update - just CouchDB

Install

cran version

install.packages("nodbi")

dev version

pak::pkg_install("ropensci/nodbi")
library("nodbi")

Initialize connections

Start CouchDB on the cli or with the app

src_couchdb()

Start Elasticsearch, e.g.:

cd /usr/local/elasticsearch && bin/elasticsearch
src_elastic()

If you want to use classic Redis server, we do that through the redux package, and you'll need to start up Redis by e.g,. redis-server in your shell.

src_redis()

Start MongoDB: mongod (may need to do sudo mongod)

src_mongo()

CouchDB

src <- src_couchdb()
docout <- docdb_create(src, key = "mtcars", value = mtcars)
head( docdb_get(src, "mtcars") )

Elasticsearch

Put the iris dataset into ES

src <- src_elastic()
ff <- docdb_create(src, "iris", iris)
head( docdb_get(src, "iris") )
#>   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#>          5.0         3.6          1.4         0.2  setosa
#>          4.9         3.1          1.5         0.1  setosa
#>          4.8         3.4          1.6         0.2  setosa
#>          5.4         3.9          1.3         0.4  setosa
#>          5.1         3.3          1.7         0.5  setosa
#>          5.2         3.4          1.4         0.2  setosa

Redis

src <- src_redis()
docdb_create(src, "mtcars", mtcars)
docdb_get(src, "mtcars")

MongoDB

library("ggplot2")
src <- src_mongo(verbose = FALSE)
ff <- docdb_create(src, "diamonds", diamonds)
docdb_get(src, "diamonds")

SQLite

src <- src_sqlite(dbname = ":memory:")
ff <- docdb_create(src, key = "mtcars", value = mtcars)
docdb_get(src, key = "mtcars")

Extension json1 is enabled in Package RSQLite (since version 1.1). This extension is used to emulate the behaviour of MongoDB with the methods for SQLite:

  • Parameter collection corresponds to the name of a table (parameter key) in the SQLite database dbname.
  • Json strings in parameters query and fields are translated into SQL commands, unless too complex.
  • Tables created by docdb_create() are defined as follows, with exactly two columns, an index column named _id and a column with json data named json:
CREATE TABLE mtcars ( _id TEXT PRIMARY_KEY NOT NULL, json JSON );
CREATE UNIQUE INDEX mtcars_index ON mtcars ( _id );

The following examples show the maximum level of complexity that can be used at this time with available json operaters ("$eq", "$gt", "$gte", "$lt", "$lte", "$ne"); query implies AND of the comma separated expressions in the absence of a prefixed logical operator (available at this time: "$and", "$or").

ff <- docdb_create(src, key = "mtcars", value = contacts)
docdb_query(src, "mtcars", 
            query = '{"$or": {"eyeColor": "blue", 
                              "age": {"$lt": 22}},  
                              "name": {"$regex": "L%"} }',
            fields = '{"age": 1, "eyeColor": 1, "name": 1}')

Use with dplyr

library("dplyr")
src <- src_mongo(verbose = FALSE)
docdb_get(src, "diamonds") %>%
  group_by(cut) %>%
  summarise(mean_depth = mean(depth), mean_price = mean(price))

Meta

  • Please report any issues or bugs.
  • License: MIT
  • Get citation information for nodbi in R doing citation(package = 'nodbi')
  • Please note that this package is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].