C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[10881] NDataStore 정보
이갑연 [neoic] 1373 읽음    2005-09-02 10:10
볼랜드에서 jdatastore 를 c#으로 포팅한 데이타베이스가 NDatastore 입니다.

순수닷넷으로 만들어져서 cf로 바로 적용이 가능합니다.
ndatastore는 mysql 이나 interbase보다도 성능이 뛰어납니다.

nDatastore는 bdp나 Ado.net을 통해서 접근이 가능해서 ECO에 바로 적용할 경우 좋은 성능을 낼수있을것 같습니다.
작년 borcom2004에서 처음 소개가 되었는데 릴리즈는 델파이 2006과 같이 출시된다고 합니다.

아래는 관련 자료와 링크입니다.

^^
http://excastle.com/blog/archive/2004/09/13/290.aspx
http://blogs.teamb.com/craigstuntz/archive/2004/09/13/BorCon2004NDataStore.aspx

3.7. NDataStore
3.7.1. New Borland Product: nDataStore
Robert Love

Notes on what features it has:

jDataStore Code ported from Java -> C#
First Class .NET Database
100% Managed Code written C#
Local connection is done In Process
Remote connection is done remotely.
Fault Tolerant
Delphi/C#/VB Stored Procedure.
On disk structure identical for:
.net framework
.net compact framework
Linux/Solaris (jDataStore)
1.1M Deployment for .NET Framework
925K Deployment to .NET Compact Framework
My personal thoughts: This is a unique and exciting technology to try. There is only one other database that I know of that supports Managed Code Stored Procedures and that was the SQL Server 2005. However, nDataStore has a smaller footprint, and looks like it will work well as an embeded database.

posted on Monday, September 13, 2004 12:44 PM

3.7.2. NDataStore
Craig Stuntz

I'm listening to Steve Shaughnessey talk about NDataStore, Borland's .NET native DB server. Some folks might be familiar with JDataStore, Borland's fast, cheap Java native DB server. Jens Ole Lauridsen took the front end of a Java compiler, removed the byte code emitter, and converted it to emit C# code. Steve and Jens tweaked the conversion until they could build NDataStore from the JDataStore source code. 95% of the source code originates in Java -- the remaining 5% is the binding to the .NET environment which is unique to NDataStore and written in C#. The final product is 100% C# and deploys as a single, 1.1 MB DLL.

There's a second version for .NET Compact Framework which is essentially the same product less fail over, the remote server component, and a few other things which are less useful on a handheld.

JDataStore, NDataStore, and the CF edition of NDataStore use identical file formats. So you can build a DB on Solaris with JDataStore, and copy it onto a handheld device and open it in NDataStore. This is unlike SQL Server's CE edition, where you can't even build a DB on a PC. NDataStore is also smaller than SQL Server CE, both in terms of install footprint and DB size.

Steve showed benchmarks comparing the .NET and Java editions and "native" MySQL vs. .NET and Java. He also compared in-process local execution with execution via the remote driver. The tests were performed using a subset of the TPC benchmarks. He first increased MySQL's low default cache size to a level on par with NDataStore and made MySQL's sort buffer twice as large as NDataStore. He tried with and without logging with MySQL and left sync_binlog at its default of false, sacrificing guaranteed crash recovery, which should help MySQL's performance at the cost of data integrity.

Populate DB

Lower numbers are better

45.596 JDataStore local
51.775 NDataStore local
72.284 JDataSore remote
74.117 MySQL (no logging)
105.390 MySQL (with bin logging)

Create Indexes

Lower numbers are better

2.263 JDataStore remote
2.323 NDataStore local
2.754 JDataStore local
14.761 MySQL
16.233 MySQL with Bin logging

TPC-c New Orders

Higher numbers are better

7796 tpm NDataStore Local
6922 tpm JDataStore Local
6631 tpm MySQL (big advantage due to sync_binlog)
6526 tpm MySQL bin logging (big advantage due sync_binlog)
5988 tpm JDataStore Remote

The Java->C# converter also automatically translated all the tests which have been built for JDataStore over the years.

NDataStore inherits all of JDataStore 7's fault tolerance features, including failover mirroring. JDataStore/NDataStore use a log file, but it's managed automatically -- no administrator is required.

At 5:00 today, Jens Ole Lauridsen will be demonstrating how to use Delphi and C# to write DB triggers, stored procs, and UDFs for NDataStore using both the normal framework and CF.

posted on Monday, September 13, 2004 5:44 PM

3.7.3. NDataStore
Joe White

I had a lot of questions, and they answered most of them right away:

Transactions? Yes, full transaction support including rollback and disaster recovery
Client/server? Yes (but also supports local in-process)
SQL? Yes (SQL-92)
Here's the rest of my notes:

Short answer: Yes, this is a real database.
ADO.NET and BDP drivers
SQL-92 entry-level compliance
When running locally, can run in-process (remote is TCP/IP)
Transaction support
Log-based, crash recovery, rollback
Row-level locking (plus table locking if you want it)
Support for read-only transactions
High-availability support (automatic and manual failover, incremental backup)
Disaster recovery
Stored procs, user-defined functions, triggers are coded in .NET
Direct access to transactional context (you're running in-process on the server)
Managed code protects the database kernel
Single DB kernel for multiple editions
A lot of vendors prefer to have a "server kernel" and a "micro-kernel" that aren't quite compatible in one way or another
NDataStore doesn't; local, server, and high-reliability server all have the same disk structure, identical protocol, same transactiton management, same SQL, etc.
All this in a single, 1.1 MB DLL
That's for ADO.NET. If you want BDP, there are additional DLLs.
If you want to do client/server, there's a client assembly available that's even smaller.
Performance: Managed code doesn't make it slower.
64-bit support
Licensing: Same as JDataStore ($60/seat for desktop version; $500/server for normal server; $1000/server for high-reliability server)
Faster than mySQL in most benchmarks
Note that mySQL does not support disaster recovery (doesn't force writes to flush to disk immediately, so a commit isn't really a commit), and NDataStore is still faster in several benchmarks
Obviously, these are vendor benchmarks, so salt grains are required
Single-file data store
Zero-admin database: keeps transaction logs only as long as needed (no need to truncate or anything messy like that)
Next steps:
Apply for NDataStore field test (drop off a business card, or e-mail ggoldfield at borland dot com)
Will need to sign an NDA, so you may not see me blogging about it :-(
Interesting note: They actually maintain a single Java codebase, and run a tool to translate into C# with every build!
95% of code is shared
Other 5% is .NET platform support (like ADO.NET), and written in C#
No Delphi/Win32 client yet, but they've broken ground on this and are evaluating it
Sigh. If only they'd had this on the market a month ago. The folks back home (especially John and Jeff) will know what I mean.

posted on Monday, September 13, 2004 2:32 PM

+ -

관련 글 리스트
10881 NDataStore 정보 이갑연 1373 2005/09/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.