문제

그래서 저는 약 6 개월 동안 SmallTalk를 사용하여 (Squeak and Pharo) 주로 데이터 분석을 수행했으며 첫 해변 앱을 시작하려고합니다. 그래서 당신이 가장 작은 사람들에게 내 질문은 당신이 가장 좋아하는 지속성 솔루션은 무엇입니까? 나는 마그마, 상품 및 글로프를보고 있습니다. 저는 오랜 파이썬 해커이므로 ORM을 얻었지만 마그마 나 상품이 객체 지향적 인 것처럼 보이기 때문에 더 나은 솔루션이 될 것 같습니다.

빠른 참고 사항 : 여러 VM에서 앱을 확장하고 싶습니다. 이미지에 데이터를 저장하는 것이 실제로 작동하지 않습니다.

감사!

도움이 되었습니까?

해결책

여러 VM에 걸쳐 확장하려면 보석/s.

그러나 보석은 a입니다 독점적 인 상용 제품. 그래서 당신은 ~ 할 것이다 비용을 지불해야합니다. 그러나 가격 책정 모델은 일반적으로 그러한 방식으로 설계되었으므로 필요 더 큰 판은 일반적으로 사용자가 지불 그 판의 경우. 가격은 4 Gibyte 디스크 / 1 Gibyte RAM / 1 CPU 버전의 경우 0 $로 시작합니다.

주목해야 할 또 다른 점은 Gemstone Smalltalk이 자체 방언이므로 Squeak 코드는 수정되지 않은 실행되지 않지만 포트가 상당히 쉽게 작동해야합니다. (예를 들어, 보석 엔지니어는 Monticello (Squeak의 버전 제어 시스템) 패키지를 Gemstone/S에로드 할 수있는 어댑터를 만들었으며 일반적으로 해변이 실행되는지 확인합니다.)

그래서 보석은 무엇입니까? 기본적으로 자동 객체 지속성이있는 분산 VM입니다. 정상적인 SmallTalk VM에 비해 설명하기가 가장 쉽습니다. 두 개의 SmallTalk VM이 나란히 실행되는 경우 각각 자체 객체 메모리가 있습니다 (즉, 쓰레기 수집가가 관리하는 것). 그리고 그 객체 메모리는 RAM에 있습니다. 보석에서는 클러스터의 모든 VM이 공유합니다. 같은 객체 메모리 그리고 RAM이 아닌 디스크에 살고 있습니다. 그래서 당신은 그렇지 않습니다 필요 객체가 항상 "단지 거기에"있기 때문에 객체 지향적 인 데이터베이스조차도 데이터베이스가 아닙니다.

(이것은 매우 단순한 설명 일뿐입니다. 예를 들어, 힙은 아닙니다. 진짜 VMS에서 공유. 그것은 말이되지 않을 것입니다. 네트워크를 통해 생성하는 모든 임시 객체를 복제하고 싶지 않을 것입니다. 대신, 당신은 글로벌 리포지토리 객체 (기본적으로 사전)를 가지고 있으며 쓰레기 수집기가 잘 알려진 루트 객체에서 시작한 다음 거기에서 도달 할 수있는 모든 객체를 유지하고 보석을 삭제하는 것처럼 보석은 보석을 삭제합니다. 글로벌 리포지토리 객체에서 시작하여 지속/복제 거기에서 도달 할 수있는 물체.)

Gemstone에는 또한 데이터베이스 -ISH 기능이 있으므로 글로벌 리포지토리에 대한 액세스는 산 트랜잭션으로 래핑되며 SQL에서 영감을 주지만 작은 쿼리 언어가 있습니다.

Gemstone은 그들이 부르는 멋진 어플라이언스를 가지고 있습니다. "유리"(보석, Linux, Apache, Seaside 및 Smalktalk)는 잘 알려진"램프 "(Linux, Apache, MySQL 및 PHP)와 유사합니다. Glass는 Seaside Preinstalled가있는 Gemstone의 Gemstone과 Apache가있는 모든 설정이 포함되어 있습니다. Xubuntu의 모든 것이 VMware 디스크 이미지로 깔끔하게 포장되었습니다.

다른 팁

Glass만으로는 실제로 데이터에 대한 개요를 제공하는 데 도움이되지 않습니다. Sandstonedb. 당신이 지출하고 싶은 돈에 따라 상품과 유리 (또는 혼자)와 함께 SandstonedB를 사용할 수 있습니다 (사암은 모든 감각에서 무료이며 유리는 상업적이지만 소규모 설치의 경우 무료 맥주와 마찬가지로 무료).

체크 아웃 SandstonedB 페이지. 그리고 여기 있습니다 상품의 어댑터. 유리와 함께 SandstonedB를 사용하려면 스토어를 SDMemoryStore로 전환하려면 SandstonedB의 SDMemorystore에 대한 수업 주석을 참조하십시오.

당신이 선택할 수 있다면, 나는 또한 유리 또는 마그마를 선택합니다 (프로젝트가 얼마나 큰지에 따라 다릅니다).

Squeak의 Glorp는 PostgreSQL과 함께 작동합니다. 우리는 대부분의 데이터베이스와 통신 할 데이터베이스 드라이버 인 SqueakDBX를 개발했습니다. 우리는 이제 Glorp를 수정하여 모든 사람과 함께 사용할 수 있습니다 (PostgreSQL뿐만 아니라). 그러나 이것은 올해 말까지는 아닙니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top