上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 121 下一页

2021年5月2日

修改官方cubestore 支持minio s3

摘要: 支持s3是cubestore 一个很不错的特性,可以提高系统的扩展性 参考修改 主要是添加endpoint 以及配置使用path格式请求 s3.rs impl S3RemoteFs { pub fn new( dir: PathBuf, region: String, endpoint:String 阅读全文

posted @ 2021-05-02 00:31 荣锋亮 阅读(131) 评论(0) 推荐(0) 编辑

2021年5月1日

cubestore 使用需要注意的一些问题

摘要: 通过尝试运行cubestore 发现了一个问题,以下是一些整理 共享存储问题 如果注意查看官方文档以及docker-compose 环境会发现都是挂载了同一个数据卷,这个很重要,目前官方没说明通过实践发现这个是必须的(使用blob 存储会好些,s3.。。) 参考配置 目前官方对于共享配置提供了完整的 阅读全文

posted @ 2021-05-01 18:18 荣锋亮 阅读(142) 评论(0) 推荐(0) 编辑

cubestore 运行试用

摘要: 官方提供了docker-compose 的运行模式 环境准备 docker-compose 文件 version: "3" services: cubestore_router: restart: always image: cubejs/cubestore:latest environment: 阅读全文

posted @ 2021-05-01 13:39 荣锋亮 阅读(156) 评论(0) 推荐(0) 编辑

cube.js cubestore 生产可用了

摘要: 使用到的技术 parquet,apache arrow,以及datafusion 参考机制 参考使用模式 传统 基于cubestore 存储模式 支持本地存储以及云模式(s3.。。) 工作机制 一个router 处理请求,管理数据库的元数据构建查询计划以及调度执行 多个worker节并行进行数据预热 阅读全文

posted @ 2021-05-01 11:00 荣锋亮 阅读(130) 评论(0) 推荐(0) 编辑

2021年4月28日

使用map 解决cube.js 默认title 显示的问题

摘要: 默认cube client sdk 提供了比较完整的处理展示,但是因为titile 比较长,或者就不是我们应该显示的,造成一些问题 参考解决方法 使用map 进行以下数据转换就可以了 const columns = resultSet.tableColumns().map((item)=>{ ret 阅读全文

posted @ 2021-04-28 22:29 荣锋亮 阅读(133) 评论(0) 推荐(0) 编辑

2021年4月26日

cube.js 自定义日志处理

摘要: cube.js 的日志处理部分是可以扩展的, 参考机制 const winston = require('winston'); const { loggly } = require('winston-loggly-bulk'); winston.add( new loggly({ token: 'L 阅读全文

posted @ 2021-04-26 21:15 荣锋亮 阅读(104) 评论(0) 推荐(0) 编辑

tendis nodejs 连接问题

摘要: 经过测试node-redis 客户端与tendis 连接是有点问题的(golang 以及java 是没有问题的) 原因分析 因为node-redis 支持debug模式,通过分析发现还是tendis兼容的问题与redis还是有差异的 具体分析方法 参考代码 const redis = require 阅读全文

posted @ 2021-04-26 13:05 荣锋亮 阅读(184) 评论(0) 推荐(0) 编辑

nodejs 异步转同步整理

摘要: 主要是集中参考使用方法,可以结合自己的场景解决问题 参考代码 const co =require("co") const AsyncUtil = require('async-utility').default; async function demo(){ return { name:"dalon 阅读全文

posted @ 2021-04-26 00:10 荣锋亮 阅读(640) 评论(0) 推荐(0) 编辑

2021年4月25日

使用async-utility 转换异步请求为同步

摘要: nodejs 的回调,async,promise 都是解决实际异步问题,但是很多时候异步转为同步也是一个实际的需求 参考解决方法 使用async-utility(依赖了deasync) 参考代码 const AsyncUtil = require('async-utility').default; 阅读全文

posted @ 2021-04-25 20:08 荣锋亮 阅读(189) 评论(0) 推荐(0) 编辑

2021年4月24日

cube.js schemaVersion npm 包

摘要: 为了方便使用,包装了一个npm包可以直接使用,具体代码参考连接 npm 使用 yarn add @dalongrong/cubejs-schemaversion-cache cube.js // Cube.js configuration options: https://cube.dev/docs 阅读全文

posted @ 2021-04-24 19:59 荣锋亮 阅读(79) 评论(0) 推荐(0) 编辑

开发一个cube.js schemaVersion 包装

摘要: 默认dev环境schema 是不cache,所以会每次执行,生成环境是必须cache的,但是cache就有schemaversion 的问题 所以基于cache-manager 包装了一个cache处理的,代码很简单,但是可以减少对于schemaversion的时间消耗 参考包装代码 schemav 阅读全文

posted @ 2021-04-24 19:29 荣锋亮 阅读(104) 评论(0) 推荐(0) 编辑

cube.js 多租户参考设计说明

摘要: 下图是参考官方文档以及源码,整理的一个简单的说明,可以参考 参考图 阅读全文

posted @ 2021-04-24 14:06 荣锋亮 阅读(111) 评论(0) 推荐(0) 编辑

2021年4月22日

cube.js 调度&&查询队参考参数

摘要: 参考参数 packages/cubejs-query-orchestrator/src/orchestrator/QueryQueue.js 构造函数 constructor(redisQueuePrefix, options) { this.redisQueuePrefix = redisQueu 阅读全文

posted @ 2021-04-22 20:18 荣锋亮 阅读(149) 评论(0) 推荐(0) 编辑

cube.js 自定义首页显示信息

摘要: 实际上是一个简单的问题,就是依赖了initApp 参数 参考使用 index.js module.exports = function(app){ if(process.env.NODE_ENV=="production"){ app.get("/",function(req,res){ res.s 阅读全文

posted @ 2021-04-22 20:12 荣锋亮 阅读(116) 评论(0) 推荐(0) 编辑

2021年4月20日

cube.js data-blending一些说明

摘要: cube.js 的data-blending 理论上是可以支持多种查询的的聚合的,但是因为目前有一些限制,使用起来不是很方便 参考代码 gateway.ts 文件 async getNormalizedQueries(query, context) { query = this.parseQuery 阅读全文

posted @ 2021-04-20 23:48 荣锋亮 阅读(108) 评论(0) 推荐(0) 编辑

cube.js 新版本的一些特性

摘要: 最近版本(0.26.100)包含一个很不错的特性支持在checkAuth进行自定义异常以及状态码的返回处理 自定义状态码参考使用 const {CubejsHandlerError} = require("@cubejs-backend/api-gateway") module.exports = 阅读全文

posted @ 2021-04-20 20:01 荣锋亮 阅读(108) 评论(0) 推荐(0) 编辑

cube.js TimeoutError: ResourceRequest timed out 问题参考解决方法

摘要: 查看最近官方提交了一个pr进行了此问题的修复(这个问题官方提交了两个pr) 参考pr https://github.com/cube-js/cube.js/pull/2576 https://github.com/cube-js/cube.js/pull/2575 核心解决说明 主要是2576 这个 阅读全文

posted @ 2021-04-20 09:43 荣锋亮 阅读(179) 评论(0) 推荐(0) 编辑

2021年4月18日

使用k6 压测cube.js 请求接口

摘要: 参考js 脚本 app.js // Creator: WebInspector 537.36 import { sleep, group,check } from "k6"; import http from "k6/http"; export const options = { vus: 2000 阅读全文

posted @ 2021-04-18 18:36 荣锋亮 阅读(292) 评论(0) 推荐(0) 编辑

cube.js TimeoutError: ResourceRequest timed out 问题

摘要: 最近在进行cube.js优化的时候碰到了此问题,实际上后边经过查看官方文档,官方也说明了次问题 主要的原因 redis 并发连接配置的(但是不简单是这样的,经过测试在极端情况下如果连接池可用连接不够的时候会出现整个服务都不可用的问题) 官方的解决方法 结合自己实际的用户查询请求配置连接池 参考配置 阅读全文

posted @ 2021-04-18 17:48 荣锋亮 阅读(272) 评论(0) 推荐(0) 编辑

2021年4月17日

streamsets http client 请求过大问题

摘要: http 请求body 过大问题 现象 com.streamsets.pipeline.api.ext.io.OverrunException: Reader exceeded the read limit '1048576' 解决 in version 2.6 and before - add t 阅读全文

posted @ 2021-04-17 22:07 荣锋亮 阅读(522) 评论(0) 推荐(0) 编辑

使用graalvm 运行cube.js

摘要: graalvm 一个瑞士军刀,很强大,希望基于graalvm 增强cube.js 的稳定性以及性能,所以做了一个简单demo 环境 docker-compose 文件 version: "3" services: trino: image: trinodb/trino:355 volumes: - 阅读全文

posted @ 2021-04-17 12:20 荣锋亮 阅读(292) 评论(0) 推荐(0) 编辑

使用presto-gateway 进行trino 扩展

摘要: 类似presto我们可以基于presto-gateway 进行扩展 参考使用 lfyt玩法 pinterest 玩法 说明 目前presto-gateway 将会进行新版本的扩展,已经在预览了,对于trino 的扩展我们可以基于协议兼容处理 protocol.v1.alternate-header- 阅读全文

posted @ 2021-04-17 10:01 荣锋亮 阅读(568) 评论(0) 推荐(0) 编辑

trino 兼容presto 的方法

摘要: 因为从trino 351修改了协议,但是官方也是提供了兼容方法的,以下是解决方法 客户端协议兼容 配置协议可选请求头名 一般为etc/trino/config.properties protocol.v1.alternate-header-name=Presto 参考资料 https://trino 阅读全文

posted @ 2021-04-17 09:14 荣锋亮 阅读(752) 评论(0) 推荐(0) 编辑

2021年4月16日

cube.js 自定义checkAuth 响应状态码

摘要: 如果阅读源码了,会发现默认是基于UserError 进行处理的,但是默认只有403,解决方法 参考源码 通过以下源码可以看到内部处理 protected checkAuth: RequestHandler = async (req, res, next) => { const token = thi 阅读全文

posted @ 2021-04-16 23:23 荣锋亮 阅读(144) 评论(0) 推荐(0) 编辑

2021年4月15日

cube.js dremio driver 类型转换bug修改

摘要: 主要是为了和官方保持一致,添加了一下方法 castParameter() { if (this.definition().type 'boolean') { return 'CAST(? AS BOOLEAN)'; } else if (this.measure || this.definition 阅读全文

posted @ 2021-04-15 22:55 荣锋亮 阅读(91) 评论(0) 推荐(0) 编辑

xfs 磁盘扩容

摘要: 主要是一个记录 需要执行的命令 先growpart growpart /dev/xvda 1 然后 xfs_growfs -d /dev/xvda1 参考资料 https://stackoverflow.com/questions/25262518/xfs-grow-not-working 阅读全文

posted @ 2021-04-15 22:45 荣锋亮 阅读(178) 评论(0) 推荐(0) 编辑

cube.js 动态编译问题

摘要: 一般官方解决的动态编译使用asyncModule 但是asyncModule 有一些问题(对于join 处理有问题,这个是一个bug) 解决方法 使用repositoryFactory 不是很难,自己实现一个基于文件或者数据api的schemaFactory 使用sqlAlias 好处是cube 的 阅读全文

posted @ 2021-04-15 21:32 荣锋亮 阅读(119) 评论(0) 推荐(1) 编辑

2021年4月14日

cube.js 通过prepareCompiler获取 meta

摘要: meta 在cube.js 还是比较重要的(尽管当前没有太多的使用介绍),但是我们基于meta 可以进行 代码生成,进行数据分析处理(基于元数据,方便开发数据分析应用),playground 就是集成了次 进行界面开发 参考代码 app.js const {prepareCompiler} = re 阅读全文

posted @ 2021-04-14 22:55 荣锋亮 阅读(98) 评论(0) 推荐(0) 编辑

2021年4月13日

cube.js 通过require 加载schema

摘要: 我们可以通过require 的模式加载配置好的schema,但是需要注意sql 以及drillMembers 必须是一个函数()=> string 或者()=>string[] 几点说明 自己开发的schema 不能再schema文件夹中 sql 以及drillMembers 必须是一个函数()=> 阅读全文

posted @ 2021-04-13 23:36 荣锋亮 阅读(114) 评论(0) 推荐(0) 编辑

cube.js trino driver 使用几个问题

摘要: 因为目前集成的实际上就是官方推荐的一个presto node client,但是因为node client 的一些问题(查询状态监测基于循环,所以不是很好) 以下是一个解决方法 禁用timezone 这个需要修改cube.js trino 的驱动,很简单(具体参考源码) constructor(co 阅读全文

posted @ 2021-04-13 22:35 荣锋亮 阅读(159) 评论(0) 推荐(0) 编辑

trino nodejs 驱动

摘要: 因为trino 与presto还是有差异的,所以fork 原有presto clinet进行了调整,同时发布了一个npm包 参考修改的代码 lib/presto-client/headers.js var Headers = exports.Headers = function(){ }; Head 阅读全文

posted @ 2021-04-13 00:07 荣锋亮 阅读(198) 评论(0) 推荐(0) 编辑

cube.js trino driver

摘要: 主要是因为trino 相比presto 有修改,所以重新开发了一个cube.js 的驱动 参考代码 trino node client 也基于官方的进行了调整,参考以下连接 代码结构 实际与presto 一样,所以代码也就没有太多修改,主要修改了依赖的驱动 参考使用 .env # Cube.js e 阅读全文

posted @ 2021-04-13 00:03 荣锋亮 阅读(120) 评论(0) 推荐(0) 编辑

2021年4月12日

cube.js playground 使用的一些问题

摘要: playground 是一个很不错的选择,可以方便的为我们生成cube.js schema 但是如果经常使用的话,会发现一些问题 只包含了为string类型的列 当然这个应该是一个bug,具体可以参考 https://github.com/cube-js/cube.js/blob/master/pa 阅读全文

posted @ 2021-04-12 13:44 荣锋亮 阅读(123) 评论(0) 推荐(0) 编辑

2021年4月11日

cube.js 配置自定义basePath 扩展cube.js 多租户处理

摘要: cube.js 默认的basePath是cubejs-api 我们可以通过配置自定义的basePath提升多租户的处理能力 参考配置 module.exports = { basePath:"/oneservice/:projectid", schemaVersion: ({ securityCon 阅读全文

posted @ 2021-04-11 20:55 荣锋亮 阅读(124) 评论(0) 推荐(0) 编辑

cube.js 测试Query 的方法

摘要: 核心还是基于官方的预编译能力,然后构建自己的query 传递参数进行测试 参考代码 app.js const {prepareCompiler} = require("@cubejs-backend/schema-compiler") module.exports = { preCompiler:f 阅读全文

posted @ 2021-04-11 20:14 荣锋亮 阅读(163) 评论(0) 推荐(0) 编辑

apache kylin 大数据olap 方案

摘要: 参考图 生态 因为kylin提供了jdbc,rest api 所以我们可以方便的进行集成使用(我们可以开发一个cube.js 的驱动,可以方便的进行数据分析)后边尝试开发一个cube.js driver 集成测试下 参考资料 http://kylin.apache.org/http://kylin. 阅读全文

posted @ 2021-04-11 10:10 荣锋亮 阅读(89) 评论(0) 推荐(0) 编辑

k6 如何进行api 测试(demo)

摘要: 内容来自官方文档,一个简单的基于postman 进行api 测试 参考图 使用说明 编写测试脚本 转换api (har,以及postman 请求到测试脚本) 执行测试k6提供了har 转换工具以及postman 2 k6 的工具可以简化脚本的生成 参考资料 https://k6.io/docs/te 阅读全文

posted @ 2021-04-11 00:20 荣锋亮 阅读(342) 评论(0) 推荐(0) 编辑

k6 运行大规模测试

摘要: 主要内容来自官方文档,介绍k6关于大规模测试的系统配置以及使用 一些说明 k6 能够利用所有的cpu资源,同时单实例可以提供3-4 万的vus,同时可以生成30-40万的rps 推荐的主机配置 内核 sysctl -w net.ipv4.ip_local_port_range="1024 65535 阅读全文

posted @ 2021-04-11 00:07 荣锋亮 阅读(669) 评论(0) 推荐(0) 编辑

2021年4月10日

k6 常见测试模式说明

摘要: k6 对于常见的测试进行了多种说明,同时也有比较详细的讲解还是很不错的 常见参考测试类型 简单说明 (smoke test) 冒烟测试, 验证系统的最小负载,而不会出现任何问题 (load tet)负载测试, 主要根据并发用户以及每秒请求评估系统性能 (stress test,spike test) 阅读全文

posted @ 2021-04-10 23:46 荣锋亮 阅读(1165) 评论(0) 推荐(0) 编辑

k6 使用参考

摘要: 以下进行一些k6负载测试工具使用的一些说明 提供负载测试文件 实际上就是一个js文件 参考js 文件格式 // init code export default function() { // vu code } 一些说明 js 文件,可以自己编写,同时也可以基于har 文件生成,k6提供了har 阅读全文

posted @ 2021-04-10 23:29 荣锋亮 阅读(726) 评论(0) 推荐(0) 编辑

上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 121 下一页

导航