eXtremeDB相关问题解答(3)
> 1. Could our database support multi-database under one single instance?
>
> 2. Could we support temporary table?
>
> 3. Could we support view?
>
> 4. Could we support stored procedure and functions?
>
> 5. Could eXtremeDB be integrated into BI app like Microstrategy ?
>
> 6. Could we support Architeture like MPP so that all the data could be distributed onto different nodes evenly.
>
> 7. What is the average compression ratio or ratio range typically ?
Could we reach the ratio of 10:1
1. Yes, eXtremeDB can open and maintain connections to multiple databases from a single task or process. Each database will require its own "database connection" (the database connection is a way to identify the database to the application)
2. The eXtremeDB databases are normally defined statically with the schema. eXtremeDB does not support temporary tables in the normal SQL meaning of the word (tables that exist within a session). That's said, there is a limited support for "create table" statement
to create in memory tables (or persistent tables. The in-mmeory tables created via the create statement will only exists during the current session, so essentially they are the same as "normal" temporary tables
3. There is a limited support for views (see the eXtremeSQL User's Guide)
In order to create a view , the application must have the "Views" class defined in the schema:
class Views
{
string name;
string body;
tree<name> pk;
};
Only the name of the table and the names of fields are essential. "name" contains the name of the view and the body contains the text of view expression.
View are created in standard SQL manner:
CREATE VIEW name AS select-expression;
XSQL>create view SV as select sid from S; insert into S (sid,sname)
XSQL>values (1,1); select * from SV;
sid
------------------------------------------------------------------------------
1
XSQL>drop view SV;
Things to be aware about
a. Views are implemented as nested select so the query above will be translated to
select * from (select sid from S);
The xsql optimizer is not always smart enough to efficiently transform nested queries. So sometimes query with views will be less efficient than one written manually without views. I can not give you precise example now or give you some estimation how much
presence of view can degrade performance of query.
b. The information about created views is stored in Views table. If you want view definition to be persistent , you should define table Views as "persistent". Certainly it is relevant for disk database only.
c. Views are read-only. Updateable views are not supported. It means it is not possible to do something like:
insert into SV (sid) values (1);
4. Storage procedures are not supported since the eXtremeDB is an embedded database as opposed to a server-type database. SQL Support for functions in SQL is limited to the API -- functions are not stored. SQL supports a number of built-in string and math
functions as well as user-defined functions that can be used in SQL statements. For example
static String* dateformat( McoSql::Value* date) { char str[64]; int date_val = (int)date->intValue(); int yy = date_val / 10000; int mm = date_val / 100 % 100; int dd = date_val % 100; // Format dd.mm.yyyy assuming all dates are after 2000 eXtremeSQL User Guide
version 4.5 page 33
sprintf( str, "%d.%d.20%02d", dd, mm, yy ); return String::create( str ); } static SqlFunctionDeclaration udf( tpString, // tpInt is the return value of the UDF "dateformat", // the name of the function as we’ll use it in a query (void*)dateformat, // the function
pointer
1 // the number of arguments to the UDF ); The UDF can then be called in a normal SQL select statement. For example, the following statement formats the date values in the result set by calling the UDF:
select dateformat(date_val) from Contributions;
5. There is currently no integration between the eXtremeDB data source and MicroStrategy BI environment. However we are considering the integration of the FE with a number of platforms, including the MicroStrategy Intelligence Server
6. Again, sharding (as a tool within the MPP database architecture) is not currently supported. We are in the process adding sharding and will be happy to consider requirements
7. Compression is supported for the large data data sets (sequences) through RLE. Its not possible to quantify the compression rate as not depends on the data being compressed. By the same token there is no "typical" compression rate.
eXtremeDB相关问题解答(3)的更多相关文章
- wdos相关问题解答
wdos系统自动分区的大小说明 wdOS系统提供了可自动分区和手工分区 自动分区适用大部分新手或对分区没有特的要求的人 手工分区适用老手或熟悉分区或有特别需求的人 具体用哪个,没多大区别,关键是看应用 ...
- centos与ubuntu安装及相关问题解答
1.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别. 答:Linus的发行版本有slackware,debian,redhat,Alpine,ArchLinux,Gentoo,LFS, ...
- 通过Ajax——异步获取相关问题解答
问题呈现: 解决方案: dataType定义的是接收的值的类型,及controller控制器返回什么类型的值,这就写成什么类型, 我写的是return content("...") ...
- ip相关问题解答
用路由器上网时电脑的设置: ===================== 路由器如何设置另外讨论,现只讲电脑的设置.在Windows XP下: 1.确定桌面上有没有“网上邻居”图标,如果没有,在桌面空白 ...
- 浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案
浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案 本文是截止目前为止最强攻略,按照本文方法基本可以无压力应对caffe和Ross B. Girshick的 ...
- WPF/Silverlight Layout 系统概述——Measure(转)
前言 在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重写MeasureOverride和ArrangeOver ...
- 在linux环境下编译运行OpenCV程序的两种方法
原来以为在Ubuntu下安装好了OpenCV之后,自己写个简单的程序应该很容易吧,但是呢,就是为了编译一个简单的显示图片的程序我都快被弄崩溃了. 在谷歌和上StackOverFlow查看相关问题解答之 ...
- 第三十六节,目标检测之yolo源码解析
在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...
- win 2012 安装mysql 5.7.20 及报错 This application requires Visual Studio 2013 Redistributable. Please install the Redistributable then run this installer again 的解决办法
本文地址:http://www.cnblogs.com/jying/p/7764147.html 转载请注明出处. 安装过程其实挺简单,基本上下一步下一步,可以参考我的另一篇mysql安装文章: ...
随机推荐
- How to: Create Custom Configuration Sections Using ConfigurationSection
https://msdn.microsoft.com/en-us/library/2tw134k3.aspx You can extend ASP.NET configuration settings ...
- No mapping found for HTTP request with URI [/test2/test/add.json] in DispatcherServlet with name 'dispatcher'
查看spring-mvc.xml中扫描包路径配置是否正确: <!-- 扫描controller(controller层注入) --> <context:component-scan ...
- fullpage中大的图片超过一屏怎么在手机端滑动显示?
fullpage中大的图片超过一屏怎么在手机端滑动显示?(设置overflow电脑端是会出现滚动条的,但是在手机端不出现滚动条,图片也不可左右滑动显示) var $window = $(window) ...
- OpenGL编程逐步深入(八)伸缩变换
准备知识 伸缩变换非常简单,它的目的是增大或者缩小对象的尺寸.例如:你可能希望用同一个模型创建不同大小的对象(例如形状相同,但大小不同的树木)或者你想改变对象的大小使它和游戏场景匹配.这些例子中你可能 ...
- error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead解决方案
vs2012使用c语言函数fopen操作文件时报错: 错误 1 error C4996: 'fopen': This function or variable may be unsafe. Consi ...
- 从Chrome源码看audio/video流媒体实现二(转)
第一篇主要介绍了Chrome加载音视频的缓冲控制机制和编解码基础,本篇将比较深入地介绍解码播放的过程.以Chromium 69版本做研究. 由于Chromium默认不能播放Mp4,所以需要需要改一下源 ...
- Opencv Mat的三种常用类型简介
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/47683127 本文主要介绍Opencv ...
- arcgis engine 获取高亮Feature、element
转自原文 arcgis engine 获取高亮Feature.element IGraphicsContainer pGraphicsC = mainAxMapControl.Map as IGra ...
- Qt之图形(转换)
简述 QTransform类指定坐标系的2D转换,可以指定平移.缩放.扭曲(剪切).旋转或投影坐标系.绘制图形时,通常会使用. QTransform与QMatrix的不同之处在于,它是一个真正的3x3 ...
- 分布式文件存储FastDFS(一)初识FastDFS
一.FastDFS简单介绍 FastDFS是一款开源的.分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发.作为一个分布式文件系统,它对文件进行管理. ...