程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> Sybase下的數據分片技術

Sybase下的數據分片技術

編輯:SyBase綜合文章
Sybase公司生產的DBMS主要包括: 1、Sybase Adaptive Server Enterprise 11.5 2、Sybase Adaptive Server Enterprise 11.9.2 3、Sybase Adaptive Server Anywhere 6.0 4、Sybase SQL Anywhere 5.x 這些產品的基本權限控制內核是一致的,但由於Sybase系列不支持動態視圖,不支持用戶自定義函數,因此,想通過動態視圖實現權限分配是不可能的,只能人工加入控制,原理如下: 一、建立用戶表、部門表 create table sys_user (suser_id varchar(8),suser_name varchar(20),...); create table sys_department(sdept_id varchar(8),sdept_name varchar(20),...); 二、在需要進行權限分配的表中加入特殊字段,用來表明此行數據屬於哪個部門或哪個用戶,如 客戶信息: create table customer ( scustomer_id varchar(10), scustomer_name varchar(20), sdataowner varchar(20)...); 三、建立權限分配對照表,用來描述某用戶可以操作的數據所屬的部門或用戶及相關權限 create sys_grant ( suser_id varchar(8), sdept_id varchar(8), sdataowner varchar20), scanInsert char(1) default Y, scandelete char(1) default Y, scanupdate char(1) default Y, ...); 四、建立或維護好以上基礎表單後,在具體的操作上就可以實現了,如選擇某用戶可以操作的可戶數據,則 SQL 語法可以寫為: select a.* from customer a,sys_grant b where b.sdataowner = a.owner and b.suer_id = :as_user_id; 五、Pb中的實現: PB中實現可以通過對sys_grant的維護來定義某用戶的具體可操作那些用戶及部門的數據,可以定義在數據窗中,也可以通過一個公用底層函數來動態修改數據窗,即對開發而言是透明的,對用戶是可控制的。若將來Sybase支持動態視圖,則可以通過sp_process過程中定義相關信息(如保留當前登錄用戶信息)來實現動態視圖,這樣對於開發者而言,透明度就更高。 優點 1、可以實現網狀數據分片,自由,靈活,對組織機構變化不敏感; 2、速度快,對巨量數據無明顯影響; 缺點 1、技術實現復雜,需要程序支持; 2、應用外數據操作無法約束。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved