퍼스트
Perst| 개발자 | 맥오브젝트 |
|---|---|
| 초기 릴리즈 | 전( |
| 운영 체제 | 크로스 플랫폼 |
| 유형 | ODBMS |
| 면허증. | GPL 또는 독자 사양 |
| 웹 사이트 | www |
Perst는 오픈소스 듀얼 라이선스 객체 지향 임베디드 데이터베이스 관리 시스템(ODBMS)입니다.Java 프로그래밍 언어와 C# 프로그래밍 언어 버전은 모두 컴팩트하며 Perst는 Android 및 Windows Phone(WP7) 운영 체제를 실행하는 스마트폰에 구현되어 있습니다.
역사
퍼스트는 2003년 러시아에서 출범했다.데이터베이스를 프로그래밍 언어와 긴밀하게 통합함으로써 고성능을 달성하도록 설계되었습니다.Perst는 언어 객체에 데이터를 직접 저장합니다.2006년 Issakah에 본사를 둔 McObject LLC는 Perst의 개발을 인수했습니다.무료 다운로드를 계속 제공하고 있으며 상용 라이센스 옵션을 추가했습니다.
Perst는 처음에 Java로 작성되어 C#으로 이식되었습니다.원래 데스크톱 및 서버 기반 소프트웨어용으로 설계되었지만, Perst는 스마트폰과 같은 기기에서 실행되는 모바일 애플리케이션에 데이터베이스 관리 기능을 제공하는 데에도 사용되었습니다.이러한 모바일 디바이스에는 일반적으로 하드웨어 제약이 있습니다.사용 가능한 RAM은 한정되어 있고 CPU 사이클은 거의 없으며 비표준(데이터베이스 시스템의 경우) 동작 요건(Windows Phone7 [1][2][3][4]모바일플랫폼의 Java ME 지원이나 Silverlight 지원 등)도 있습니다.
버전
현재 사용 가능한 Perst 버전은 용 Perst입니다.NET, Java 및 Perst Lite의 Perst.Perst for Java 및 Perst Lite는 단일 소프트웨어 배포로 번들됩니다.
의 퍼스트.NET은 동일한 소스 코드를 사용하여 C# 버전 1.0 및 2.0을 지원합니다.컴파일 시 특정 C# 2.0 기능(템플릿클래스 등)이 지원됩니다.표준 및 콤팩트 양쪽에 대응하고 있습니다.NET 프레임워크 및 Silverlight는 Microsoft Windows Phone 7(WP7)과 Windows Embedded Compact(구 Windows CE) 모두에서 동작할 수 있습니다.
Perst for Java는 J2SE/J2EE 버전 1.3 및 1.4와 J2SE/J2EE 버전 5를 지원합니다.Android 스마트폰 환경에 대응하고 있습니다.
Perst Lite는 Java ME(J2ME) 모바일 장치 플랫폼에 기반한 장치(BlackBerry 스마트폰 등)에서 실행되는 Java용 Perst 구현입니다.메모리 설치 공간은 표준 [5]Perst보다 약 30% 작습니다.
상세하게
크기
Perst 엔진의 크기는 5,000줄의 소스 코드이며 실행 시간 Random-Access Memory(RAM; 랜덤 액세스 메모리)에 필요한 범위는 30K ~300K입니다][6]
트랜잭션
퍼스트 트랜잭션은 자동 복구로 ACID 속성(원자성, 일관성, 격리, 내구성)을 지원합니다.
쿼리
Perst는 컨테이너 클래스의 요소를 필터링하기 위한 SQL의 서브셋을 제공합니다.저장된 개체에 액세스하기 위해 Perst는 다음을 포함한 특수 컬렉션 클래스를 구현합니다.
- B-트리 인덱스
- R 트리 인덱스
- T-Tree 기반 메모리 내 데이터베이스 컨테이너 클래스
- k-d 트리 인덱스
- 기수 트리(Patricia trie) 인덱스
- 주식 시세 등 작은 고정 크기 객체를 효율적으로 처리하는 시계열 클래스
- 씩 인덱스(복제가 많은 인덱스) 및 비트 인덱스(가능한 [7]값의 수가 제한된 키)에 대한 특수한 컬렉션 버전
스키마의 진화
기존 데이터베이스 설계(데이터베이스 스키마)를 쉽게 변경할 수 있도록 Perst는 "느긋한" 데이터베이스 스키마 진화를 구현합니다.객체 인스턴스가 데이터베이스에서 로드되면 해당 클래스 설명자가 응용 프로그램의 클래스 형식과 비교됩니다.동일하지 않고 오브젝트를 변경해야 할 경우 오브젝트는 새로운 형식으로 변환되어 저장됩니다."eager" 스키마의 진화 형식 변경은 데이터베이스를 한 번에 스위프합니다.
기타 기능
- 가비지 컬렉션
- 멀티 스레드
- 언어 통합 쿼리(LINQ)[8] 지원
- XML Import/export 유틸리티
- 마스터/슬레이브 레플리케이션 지원(슬레이브 노드에서 읽기 전용 쿼리를 실행하는 옵션 포함)
- 전문[9] 검색
- AspectJ 및 JAssist Aspect 지향 프로그래밍[10] 도구와의 통합
구현 예시
ProScout은 Java ME 환경에서 Perst Lite를 사용하기 위한 데모 미드렛입니다.이 시연은 스포츠 모집인을 위한 개별 필기 시설에 대한 것입니다.원래 Blackberry용으로 구현되었으며 Nokia S60에도 [11]구현되었습니다.
McObject는 Perst for를 사용하는 CRM 시스템의 데모 앱을 제공합니다.NET: [12]Silverlight 데스크톱브라우저에서 실행되는 완전한 텍스트 검색 가능 연락처 데이터베이스를 포함합니다.Appamundi의 Andy Wigley는 이 데모 앱을 Windows Phone에 이식하여 일련의 블로그 [13]투고에서 이 프로젝트에 대해 설명했습니다.
라이선스
사용자는 자유 소프트웨어 재단이 발행한 GNU General Public License(버전 2 이후)의 조건에 따라 Perst를 재배포 또는 변경할 수 있습니다.GPL을 준수할 수 없거나 준수하지 않는 개인 또는 조직의 경우 McObject에서 상용 라이센스를 사용할 수 있습니다.
레퍼런스
- ^ 예를 들어, Windows Phone 7의 개발자 경험 담당 Microsoft 디렉터 Brandon Watson의 블로그 투고 「Windows Phone 7 의 데이타베이스 구축은, 에픽으로서 인정됩니다」를 참조해 주세요.
- ^ 데이터베이스 duo는 Windows Phone 7 애플리케이션 스토리지, The Register, 2010년 6월 30일 제공.
- ^ Silverlight 어플리케이션용 임베디드 데이터베이스 엔진, 아키텍처 + 전략 블로그, MSDN.
- ^ J2ME 기반 임베디드 디바이스용 객체 지향 데이터베이스 개발EE Times, 2006년 12월 14일이 문서에서는 Java ME(J2ME) 환경에서 ODBMS를 지원하기 위해 극복해야 했던 기술적 과제에 대해 설명합니다.
- ^ Java ME용 데이터베이스, Part 2: JavaDB뿐만 아니라 Terrence Bar의 Java 관련 블로그인 Perst Lite도 있습니다.2007년 12월 7일 Wayback Machine에서 2012-02-26 아카이브 완료.Java ME의 Sun Microsystems 에반젤리스트인 Bar는 이 블로그 투고와 앞의 투고(Need A Database With Your Phone?, 2007년 9월 5일, Archived 2011-08-18 at the Wayback Machine)에서 Java ME 기반 스마트폰 및 일부 데이터베이스 시스템에서 실행되는 애플리케이션의 데이터 관리에 대한 새로운 요구에 대해 설명합니다.d.
- ^ McObject는 Java용 오픈 소스 임베디드 데이터베이스인 Perst를 출시합니다.Java Developer's Journal, 2006년 2월 9일
- ^ 맥오브젝트 릴리스 퍼스트와 Android 기반 SQLite 벤치마크Dobb's Journal, 2008년 1/2
- ^ "Embedded database adds LINQ support". Archived from the original on 2013-02-09. eWeek의 디바이스용 Windows, 2008년 6월 9일
- ^ 맥오브젝트 릴리스 Perst 4.0, Android용 새로운 네이티브 풀텍스트 검색 등2011-05-20 Wayback Machine Open Handset Magazine, 2009년 1월 27일 아카이브
- ^ 기능에 대한 자세한 내용은 McObject의 Perst 임베디드 데이터베이스 사양 및 Java의 Perst: Introduction and Tutorial 및 Perst for 를 참조하십시오.NET: 개요 및 튜토리얼
- ^ Blackberry와 Nokia S40 및 S60 디바이스 간의 Java ME 미드렛 이식(http://eetimes.com/design/embedded/4007203/Porting-a-Java-ME-Midlet-Between-Blackberry-and-Nokia-S40-and-S60-Devices
- ^ Perst 및 Silverlight 임베디드 데이터베이스 데모 애플리케이션
- ^ Perst - Windows Phone7 Silverlight 데이터베이스