• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Renco
V2EX  ›  程序员

公司想搭建一个类似数据中心的东西,有什么实现思路和方式,还有工具推荐么

  •  1
     
  •   Renco · Nov 10, 2020 · 7389 views
    This topic created in 2184 days ago, the information mentioned may be changed or developed.

    大致需求是 所有系统的数据可以抽出来放入数据中心里,所有系统可以通过固定规范访问数据中心获取对应数据。进入到数据中心的数据需要经过一定的校验,否则会生成 csv 文件,人工修改后再选择传入数据中心。数据中心本身需要有一定的简单的业务处理能力,能对外提供查询服务(全文检索),并且可以对已有的数据进行分析的功能。

    我自己的想法是可以先通过 es 实现。但是架构师后来给我提了什么数据仓库或者类似数据湖的概念,我查询了下又觉得 es 不足以能够实现或者替代 数据仓库和数据湖的思想。这种需求还有什么其他的解决思路么。

    ps:个人感觉我一年的 java 开发经验上手做这种东西有点蛋疼了:( 不过创业公司,架构师基本上是一个大功能模块放出来,给我们一个思路让我们自己去尝试实现,只能加把劲争取做了。

    路过的大佬给点思路!跪谢!

    28 replies  •  2020-11-10 20:54:39 +08:00
    tomczhen
    tomczhen
    Nov 10, 2020 via Android
    1
    性能指标,功能指标,预算指标啥没有,就用云架构吧。
    tabris17
    tabris17
    Nov 10, 2020
    2
    碰到过好几次 es 掉数据了。不是很可靠的数据存储后端。
    tabris17
    tabris17
    Nov 10, 2020
    3
    另外 es 基本上没什么业务处理能力。不如考虑下 pgsql 或 hive 吧
    Renco
    Renco
    OP
    Nov 10, 2020
    4
    @tomczhen 现在暂且是简单选型,和调研,具体指标方面都还没列
    snappyone
    snappyone
    Nov 10, 2020
    5
    es 做搜索,存储用 hadoop 这种,计算用 spark 。一年经验确实难为你了
    huifer
    huifer
    Nov 10, 2020
    6
    基础技术选型: Spark/Hive/Flink 这类提供查询方式的. 并不一定是 ES , es 提供全文搜索, 更适合于文档. 非结构化数据.
    确定技术选型后需要制作 ETL 即 各类数据源数据收集处理, 转换成数据中心(数据仓库)的数据对象(数据结构)
    数据转移完成后进行数据分类, 此时接入 ES 或者 MONGODB 我认为相对合适. 此时接入 ES 主要是进行归档数据存储,
    后续对外暴露服务可以通过 Spark sql + es 搜索 等技术进行暴露服务, 编码语言等不做限制,
    ssssshi
    ssssshi
    Nov 10, 2020❤️1
    7
    直接搜数据中台技术架构 ,照着大厂的架构挑对自己公司有用的来,选型的时候多结合自己公司的业务和各产品特点,比如 CK 查询快,redis 数据新,计算用 hive spark flink 之类的,存储 hdfs,抽取 flume 等等...
    一开始的时候架构分层要清晰,不要各种生命周期的数据混在一起
    huifer
    huifer
    Nov 10, 2020
    8
    就针对数据处理而言可能需要采用 MQ 或者 主从数据库等形式来尽可能减少对线上环境的影响....考虑不是很全面. 请多指教
    Renco
    Renco
    OP
    Nov 10, 2020
    9
    感谢!
    Renco
    Renco
    OP
    Nov 10, 2020
    10
    @huifer
    @ssssshi 感谢回复建议!
    silentt
    silentt
    Nov 10, 2020
    11
    给你一条生产上的建议,选型一定要选 SQL 语法支持完备的数据库做数仓。你会发现绝大部分大数据的工作都是写 SQL 。
    Renco
    Renco
    OP
    Nov 10, 2020
    12
    @silentt 好谢谢!
    GBdG6clg2Jy17ua5
    GBdG6clg2Jy17ua5
    Nov 10, 2020 via iPhone
    13
    要是我说上 oracle,大家会不会打我
    rapperx2
    rapperx2
    Nov 10, 2020
    14
    ClickHouse
    bxb100
    bxb100
    Nov 10, 2020
    15
    @angryfish #13 确实是好的选择, 但是太贵了
    evil0harry
    evil0harry
    Nov 10, 2020
    16
    clickhouse + kafka
    levelworm
    levelworm
    Nov 10, 2020 via Android
    17
    我们用 vertica 和 kafla,但是不知道你具体情况不好推荐。。。
    zorui
    zorui
    Nov 10, 2020
    18
    阿里云 的话 dla 可以满足
    jadec0der
    jadec0der
    Nov 10, 2020
    19
    ES 和数据湖是两个场景,数据湖里的数据做分析,是不在数据库端做条件查询的。比如一个 data scientist 用 Spark 分析订单数据,他会取全量的订单数据放到 Spark 里,然后写 Spark SQL 在内存里对数据进行查询。既然在数据库端不需要做查询,那就不需要对存储的数据做索引,数据存 csv 格式放对象存储里就行了。所以关键看数据怎么用,你得先把这个搞清楚。
    zyuu2
    zyuu2
    Nov 10, 2020❤️1
    20
    postgresql+clickhouse 。clickhouse 存量大的、日志型数据,postgresql 存量小的、聚合后的数据。
    teddy2725
    teddy2725
    Nov 10, 2020
    21
    这就是典型的数据仓库场景嘛,看来还有些元数据管理和数据治理的需求。让你一个一年经验的 java 搞这不是为难你嘛。架构师不出方案的嘛。
    a719114136
    a719114136
    Nov 10, 2020
    22
    能用现成的就用现成的吧,阿里云有个 MaxCompute 可以试下。
    stephenxiaxy
    stephenxiaxy
    Nov 10, 2020
    23
    clickhouse
    yangzh
    yangzh
    Nov 10, 2020 via iPhone
    24
    如果是分析数据的话,楼主可以搜索一下以下关键词:spark/clickhouse/postgresql,此外数据入库可以搜索以下关键词 flink/kafka 等。分析场景和 ES 还不太一样。

    此外有条件的话可以考虑上云,例如楼上说的某云的 maxcompute (利益无关,几大公有云应该都有解决方案),否则运维会耗费精力。
    NCE
    NCE
    Nov 10, 2020
    25
    你们公司真有钱,可以让架构师这么嚯嚯。
    springz
    springz
    Nov 10, 2020
    26
    看需求还是推荐 Greenplum,所谓的数据分析,大数据工程师,其实都是 SQL 工程师。
    lrvy
    lrvy
    Nov 10, 2020
    27
    logstash 采集 --> kafka --> ETL --> ClickHouse/Hive, 短期日志放 ch,冷数据丢 hive
    mason961125
    mason961125
    Nov 10, 2020
    28
    好家伙,点进来之前以为要建 DC
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4470 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 10:00 · PVG 18:00 · LAX 02:00 · JFK 05:00
    ♥ Do have faith in what you're doing.