对不起,如果这个问题有些主观.我是"可以存储","分布式商店"或类似这样的概念的新手.我真的很想知道他们有什么共同之处,并希望对所有这些有所了解.如果我想编写与此类似的产品,我需要准备什么?
我用c ++编写了一个爬虫,我正在寻找一个分布式数据存储,我找到了2 1)hbase 2)
两者都是Big table的实现,我只是审查了超级...因为它是用c ++实现的,而且..hbase是最广泛使用的我的问题是我们需要hadoop的方式...如果我在上面运行超强,有任何好处Hadoop的?
我在lucene中使用搜索系统.默认情况下它不是分布式的,所以我想要转向像HBase或Hadoop这样的东西.
HBase或Hypertable等解决方案是否具有内置搜索功能,还是需要在它们之上实现Lucene?
由于Hypertable和HBase似乎是两个主要的开源BigTable实现,这两个数据库之间的主要优缺点是什么?
此外,BigTable和SQL RDBMS之间的主要优缺点是什么,以及在使用像Postgres和Hypertable这样的传统RDBMS编写项目之间可以有什么显着的差异?
我正在关注 timescaleDB 的教程.. https://docs.timescale.com/timescaledb/latest/how-to-guides/hypertables/create/#create-a-hypertable
但我无法创建超表..我已经成功安装了 postgres 和 timescale。为什么我不能制作超表?
package main
import (
"context"
"encoding/json"
"fmt"
"log"
"os"
"runtime"
"strconv"
"sync"
"github.com/jackc/pgx/v4/pgxpool"
)
func main(){
timeScaleDB()
}
func timeScaleDB(){
psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
"password=%s dbname=%s sslmode=disable",
host, port, user, password, dbname)
ctx := context.Background()
dbpool, err := pgxpool.Connect(ctx, psqlInfo)
if err != nil {
fmt.Fprintf(os.Stderr, "Unable to connect to database: %v\n", err)
os.Exit(1)
}
defer dbpool.Close()
queryCreatetable := `CREATE TABLE sample_table (
time TIMESTAMPTZ NOT NULL,
id INTEGER PRIMARY …Run Code Online (Sandbox Code Playgroud) hypertable ×5
hbase ×3
bigtable ×1
cassandra ×1
couchdb ×1
go ×1
hadoop ×1
nosql ×1
postgresql ×1
sql ×1
timescaledb ×1