회계 관련 시스템에 가장 적합한 오픈 소스 데이터베이스는 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/411976

문제

저는 회사를위한 맞춤형 회계 응용 프로그램을 계획하고 설계하는 초기 단계에 있습니다. 저의 목표는 데이터 저장 부분에 대한 오픈 소스 관계형 데이터베이스를 활용하는 것이며 MySQL 및 PostgreSQL 인 널리 지원되는 두 개의 솔리드 데이터베이스를 알고 있습니다.

트랜잭션, 저장 절차, 기능 및 보안이 필요한 시스템의 경우이 두 데이터베이스 중 어느 것이 계정 응용 프로그램에 가장 적합한 지에 대한 의견이 있습니까? 아니면 누락 된 다른 데이터베이스가 있습니까?

나는 MySQL과 MS SQLServer 2005에 더 익숙하지만 라이센스 비용으로 인해 후자에서 멀어 지려고 노력하고 있습니다.

추가하겠습니다 : 이것은 Quickbooks 또는 Peachtree와 같은 회계 요구가 아닙니다. 이것은 기본적으로 우리가 제공하는 특정 비즈니스 서비스에 대한 회계를 처리하는 시스템입니다. 이 요구에 맞는 2 ~ 3 개의 시스템이있을 수 있으며, 사용자 정의 전에 6 개의 그림 범위에 가격이 책정되며, 내 소규모 회사는 장기적으로 공급 업체와 결혼해야합니다. 따라서 우리는 사내에서 응용 프로그램을 구축하고 있습니다.

또한 감사합니다 구매 대 빌드 논쟁, 구매 도로가 이미 취해졌고 공급 업체가 비참하게 실패했기 때문에 그 특정 종교적 질문에서 벗어나고 싶습니다. 때때로 당신은 단지 직접 일을해야 하며이 특정 프로젝트와 예산은 그것을 보증합니다.

지금까지 모두의 답변에 감사드립니다.

도움이 되었습니까?

해결책

PostgreSQL, MySQL, Firebird 및 Ingres와 같은 이러한 종류의 응용 프로그램에 적합한 4 가지 주요 오픈 소스 관계형 데이터베이스 관리 시스템이 있습니다. 다른 시스템이 있습니다 sqlite, 그러나 그들은 이러한 유형의 아키텍처를 가지고 있지 않으며 실제로 이러한 유형의 워크로드를 위해 설계되지 않았습니다. 이 유형의 다른 오픈 소스 데이터베이스 관리 시스템은 존재하지만 명백한 공급 업체의 약속이 부족한 것과 같이 어떤 이유로 든 강력하게 실행 가능한 것으로 보입니다. 이러한 유형의 문제가있는 시스템의 예는 SAP-DB.

PostgreSQL 오픈 소스 데이터베이스 중 가장 좋은 기능 세트와 XA 트랜잭션 지원을 제공합니다. 응용 프로그램이 3 계층 시스템이고 사소한 복잡성의 트랜잭션을 지원하는 경우 원할 것입니다. 특히 데이터베이스에 대해 둘 이상의 호출에 걸쳐 거래를하려면이를 원할 것입니다.

PostgreSQL의 몇 가지 상업적 변형은 수년에 걸쳐 구축되었습니다. 일러스트라, 그린 플럼 그리고 Enterprisedb. Illustra는 PostgreSQL의 상업적 릴리스로 Informix에 의해 구입되었습니다. GreenPlum은 데이터웨어 하우징 애플리케이션을 위해 설계된 Mofified 버전입니다. Enterprisedb는 일부 부가 가치 소프트웨어와 함께 지원되는 상용 버전의 PostgreSQL을 제공하는 회사입니다.

MySQL 5.x에는 합리적인 기능의 단면을 지원하는 기능 세트가 있지만 PostgreSQL만큼 기능이 풍부하지는 않습니다. 더 광범위한 주류 승인을 가지고 있으며 숙련 된 개발자를 모집하기위한 오픈 소스 데이터베이스 관리 시스템 중 가장 쉬운 일입니다. 이전 버전에는 강력한 트랜잭션 지원이 없었지만 innodb 얼마 동안 사용할 수있었습니다. 그만큼 현재의 정치 주변 Sun의 인수가 발생했습니다 코드 포크 그리고 MySQL 풍경은입니다 다소 지저분하고 논쟁으로 5.1 릴리스의 품질 문제. 그러나 MySQL은 오픈 소스 데이터베이스 관리 시스템 중 가장 인기 있고 가장 잘 알려진 곳이며 오픈 소스 서클 이외의 브랜드 인식을 가진 유일한 제품입니다.

파이어 버드 인터베이스의 오픈 소스 버전입니다. 마지막으로 XA 지원이 없었지만 응용 프로그램이 2 계층 클라이언트 서버 시스템으로 설정된 경우 괜찮을 것입니다. 업데이트: 이에 대한 결정적인 사양을 찾을 수는 없지만 문서는 2 단계 커밋을 지원한다는 것을 나타내지 만, 찾을 수있는 것은 XA 프로토콜을 지원했는지 여부에 대해 구체적이지 않았습니다. 이 문서는 JDBC 드라이버가 2 단계 커밋을 지원한다는 것을 의미합니다.

이 시스템의 흥미로운 변형은입니다 피라클, Oracle과의 호환성을 제공하도록 설계되었습니다. 이것은 원래 백엔드로 사용하기 위해 개발되었습니다. Compiere, 이것은 Oracle에 대항하여 지어졌고 그것에 매우 단단히 결합되었습니다.

잉그레스 이제 오픈 소스 라이센스와 함께 제공되지만 오픈 소스 커뮤니티가 약간의 집단 하품으로 인사했습니다. 그러나 그것은 매우 풍부하고 매우 성숙합니다. 저는 1990 년에 Ingres 앱을하고있는 사람들을 알고 있으며 1980 년대로 거슬러 올라갑니다.

다른 팁

나의 충고? 하지 않다. 하나를 사는 것이 좋습니다. 회계에 대해 더 많이 알고있는 사람들은 이미 GAAP를 다루는 좋은 패키지를 작성했습니다. 그들은 당신이 가지고있는 것보다 더 큰 사용자 기반을 가지고 있으며, 이는 결함을 더 빨리 발견 할 것입니다. 이것은 고전적인 "구매 대 빌드"입니다. 자신의 글을 쓰면 회사에 경쟁 우위가 없습니다. 라이센스 비용이 걱정되어서하고 있다면 개발 시간을 제대로 설명하지 않았다고 말합니다. 그것이 당신 이이 사내에서 정당화 할 수있는 유일한 방법입니다.

그럼에도 불구하고 SQL Server 라이센스 비용에 대해 걱정이된다면 PostgreSQL 또는 MySQL Second를 선택한 데이터베이스로 권장합니다.

나는 Duffymo와 Tuinstoel과 다른 사람들의 답변에 강력하게 동의합니다. 건물 대 구매 결정을 재고하십시오. 이야기를 드리겠습니다.

CFO는 중간 규모의 회사 (International,> $ 100m/yr 매출)에서 일하는 동안 금융 시스템을 Oracle Financials로 대체하기로 결정했습니다. 해당 패키지 만이이 회사가 사용하는 회계 관행과 정확히 일치하지 않았습니다.

따라서 CFO는 계약 프로그래머 팀을 고용하여 Oracle Financials를 선호하는 회계 관행에 맞게 사용자 정의하도록 지불했습니다. 그녀는 12 개월의 시간, 프로그래머 임금으로 백만 달러, 소프트웨어의 초기 비용을 바르기 위해 교체하려는 회계 시스템을 복제했습니다.

그녀는 그녀가 그것을 다시해야한다면, 상업 패키지를 구입할 것이라고 말했다. 그러나 회사의 회계 습관을 소프트웨어에서 지원하는 불이행에 적응시킬 것이라고 말했다. 그것은 훨씬 쉽고 빠르며 성공할 가능성이 높습니다.

따라서 자신의 맞춤형 패키지 구축 비용을 고려하십시오. 또한 Maintanance, 디버깅 및 해당 소프트웨어 향상에 대한 지속적인 비용을 고려하십시오. 6 자리의 상용 패키지를 구입하더라도 프로그래머가 그러한 시스템을 개발하고 유지하기 위해 비용을 지불하는 것보다 저렴할 것입니다.


명시된 질문에 더 직접 답변하기 위해 PostgreSQL과 MySQL 사이에는 프로젝트와 관련된 큰 차이가 없다고 생각합니다. MySQL에 익숙하기 때문에 그와 함께 갈 수도 있습니다.

비정상적인 데이터 유형을 사용하지 않도록 의무적 인 알림을 제공하고 싶습니다. FLOAT 또는 DOUBLE PRECISION 재무 데이터의 경우.

을 위한 어느 오픈 소스 데이터베이스를 사용하려는 응용 프로그램 인 Hands-Down 답변은 Postgres입니다. 그것은 MySQL보다 훨씬 "엔터프라이즈 준비"입니다. SQL 표준을 훨씬 더 잘 따르는 것은 말할 것도 없습니다. MySQL은 이후 버전으로 많은 것을 개선했지만 Postgres는 여전히 모든 범주에서이를 능가합니다.

오픈 소스 무료 회계 시스템이 있습니다. osfinancials처럼. 왜 자신의 시스템을 구축하고 싶은지 이해할 수 없습니까?

응용 프로그램의 경우 실제로 중요하지 않습니다. sqlite에서 mysql, postgres에 이르기까지 모든 것이 잘 작동 할 것입니다. 가장 친숙한 것을 선택하십시오.

파이어 버드 - http://www.firebirdsql.org/

MySQL에 익숙하다면 사용하십시오. 그러나 기본 MyISAM 대신 적절한 데이터베이스 엔진을 선택하십시오

스토리지 엔진 목록

솔직히, 어느 일반적인 용의자 중에서 일을 할 것입니다. 계정 및 관련 데이터 테이블의 차트를 유지하는 것은 대부분의 모든 관계형 모델을 주도하는 루트 문제입니다. 사실, 회계 시스템의 일반 저널보기에 대해 생각한다면 가지다 거래 번호, 날짜, 설명, 직불 계정 및 금액, 신용 계정 및 금액으로 구성된 계정 차트 및 일반 저널입니다. 당신이하는 다른 모든 것은 그것에 대한 선택입니다.

그러나 즉, 오픈 소스 무료 (맥주에서와 같이) 버전을 포함하여 완벽하게 적절하고 잘 테스트하고 받아 들여진 재무 패키지가 너무 많아서 연구 프로젝트 인 Etude의 의미가 없다면 내 것입니다. 인터넷 검색 및 선택에 대한 노력.

업데이트를 보았습니다. 문제는 이것이 비 기능적 요구 사항에 의해 결정되는 문제입니다. 둘 이상의 서버에 데이터베이스를 배포 하시겠습니까? 얼마나 많은 부하를 기대하십니까? 초당 거래 또는 하루에 거래? 나는 지난 몇 년 동안 둘 다에 걸쳐 시스템을 구축했으며, 일반적으로 가장 결정적인 신뢰성과 변수 요구 사항입니다. PostgreSQL은 행 원자력을 시행하고 동시 업데이트를 시행하여 단일 행의 동시 업데이트를보다 효과적으로 처리합니다. 반면에 MySQL은 정말 큰 데이터베이스를 더 잘 다루는 것 같습니다. 그러나 세 번째 질문은 백업입니다.

사내 웹 기반 회계 애플리케이션의 경우 무료이지만 오픈 소스 객체 데이터베이스로 보석을 사용하고 웹 프레임 워크로 해변으로 더 나을 수 있습니다. 그렇지 않으면 유리라고도합니다.

사내 응용 프로그램의 경우 개발자 노력이 제한 될 것입니다. SmallTalk 이미지 인 Gemstone은 최고의 개발자 생산성을 제공합니다. 정의를 변경할 때 객체 마이그레이션에 대한 지원은 실제 반복 개발이 가능합니다. Seaside는 웹 애플리케이션을 구축하기 위해 잘 설계된 도메인 별 언어로 템플릿을 대체합니다.

나는 빌드한다 회계 소프트웨어 postgresql에서. 아주 잘 작동합니다. 나는 그것을 강력히 추천합니다. 실제로 (Shameless Plug), 프로젝트를 개선하고 점프 오프 지점으로 사용하기 위해 우리와 협력하는 것을 고려할 수 있습니다.

특히 몇 가지 이유가 있습니다.

  1. Listen/Notify는 테이블을 자주 확인하지 않고도 변경 될 때 다른 프로그램을 회계 DB에 연결할 수있는 기능을 제공합니다.
  2. 우리는 대부분의 복잡한 쿼리에서 매우 우수한 성능을 발견했습니다.

Firebird와 Ingres는 매우 강력한 관계형 솔루션을 제공합니다. mysql 나는 당신이 DB에 쓸 수있는 모든 것을 하나의 앱에만 묶고 있기 때문에 권장하지 않을 것입니다 (SQL 모드 수프는 관계가 기본적으로 PostgreSQL, Firebird 및 Ingres에있는 공개 API 대신 개인 API임을 의미합니다. 이것은 도로 아래로 유연성이 줄어 듭니다.

그러나 PostgreSQL을 사용하면 상자에 최고 수준의 확장 가능한 개발 플랫폼이 제공됩니다. 개발 속도가 높습니다. 바위 단단합니다. 고급 기능은 다음과 같습니다 매우 도움이됩니다. 당신은 실망하지 않을 것입니다. 우리는 없었습니다.

이것이 데스크탑 응용 프로그램 인 경우 SQLITE를보고 싶을 수도 있습니다. 공개 영역에서 잘 알려져 있으며 작업하기가 크게 어렵지 않습니다.

당신은 그렇지 않기 때문에 필요 저장된 절차, 목록에서 벗어나십시오.

데이터베이스가 아닌 비즈니스 로직을 코드에 넣을 수 있습니다. "깨끗한"을 시작할 기회가 있다면 데이터베이스를 사용하여 처리하지 않는 지속성 가장 의미가있는 것입니다.

일단 결정을 내리면 MySQL과 PostgreSQL의 미묘한 차이가 사라집니다. 둘 다 거의 동일한 SQL을 처리하는 관계형 엔진입니다. 그들이 최선을 다하는 일에 집중하십시오.

추천: 모든 데이터베이스 특성과 독립적 인 응용 프로그램을 만듭니다.

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