+1 Sharding is one key for distributing systems, glad to see it as Apache Incubator.
Thanks, William On Mon, Oct 29, 2018 at 9:13 PM Willem Jiang <willem.ji...@gmail.com> wrote: > Sharding-Sphere already has a very active community, it's good to see > it will be part of Apache incubator. > > > Willem Jiang > > Twitter: willemjiang > Weibo: 姜宁willem > > On Mon, Oct 29, 2018 at 5:27 PM zhangli...@apache.org > <zhangli...@apache.org> wrote: > > > > Dear Apache Incubator Community, > > > > I would like to start a discussion about the incubation of > Sharding-Sphere > > at Apache. > > > > Please accept the Sharding-Sphere podling into the Incubator. > > > > We have 4 mentors, also we are welcome other volunteers to mentor us. > > > > The proposal can be found at > > https://wiki.apache.org/incubator/ShardingSphereProposal . Here is the > text > > of it: > > > > > > = Abstract = > > Sharding-Sphere is an ecosystem of transparent distributed database > > middleware, focusing on data sharding, distributed transaction and > database > > orchestration. It provides maximum compatibility for applications through > > Sharding-JDBC (a driver to implement JDBC) or Sharding-Proxy (a proxy to > > implement database protocol). > > > > = Proposal = > > With a large number of end users, Sharding-Sphere has a fairly huge > > community in China. It is also widely adopted by many [[ > > http://shardingsphere.io/community/en/company/|companies and > > organizations]] as a solution to process their massive amounts of data. > > > > We believe that bringing Sharding-Sphere into Apache Software Foundation > > could advance development of a stronger and more diverse open source > > community. > > > > Dangdang submits this proposal to donate Sharding-Sphere's source codes > and > > all related documentations to Apache Software Foundation. The codes are > > already under Apache License Version 2.0. > > > > * Code base: https://github.com/sharding-sphere/sharding-sphere > > > > * Web site: http://shardingsphere.io/ > > > > * Documentations: http://shardingsphere.io/document/current/ > > > > * Community: http://shardingsphere.io/community/ > > > > = Background = > > > > Relational database hardly supports such huge amounts of data any more > > which has increased rapidly in recent years, but for reason of technique > > maturity, developers and DBAs still want to use it to persist core data. > > > > Sharding-Sphere was open sourced on Github in 2016. At the very > beginning, > > Sharding-Sphere is just a JDBC driver for data sharding (name as > > Sharding-JDBC) at Dangdang internal framework; now it offers data > sharding, > > distributed transaction and database orchestration. Besides JDBC, proxy > to > > implement MySQL database protocol is also supported at present. > > Furthermore, our roadmap includes Proxy for PostgreSQL protocol, Sidecar > > model, data repica and elastic data scalability function as well. > > > > Due to the extension of project, we provide proxy model and sidecar model > > in addition to JDBC model. Therefore, we rename it to Sharding-Sphere by > [[ > > https://github.com/sharding-sphere/sharding-sphere/issues/788|a public > > vote]], which refers to a sharding ecosphere with Sharding-JDBC, > > Sharding-Proxy and Sharding Sidecar as its three sub-projects. > > > > Sharding-JDBC has won the [[ > http://www.oschina.net/project/top_cn_2016|TOP > > 20 most popular open source projects in China 2016]]. > > > > = Rationale = > > > > Relational database still plays a very important role on current > > application system. The maturity of products and surrounding ecosystem, > the > > friendliness of its data query and developers' and DBAs' mastery of it, > > cannot be completely replaced with other types of database in the near > > future. However, current relational database cannot support cloud native > > very well and it is not friendly to distributed system. > > > > It is the ultimate goal of Sharding-Sphere, which manages the databases > > scattering around the system, to make user use distributed databases as > > simply as using a single one. > > > > Without extra cost, Sharding-JDBC directly connects database with Java > > application to get the best performance. > > > > Sharding-Proxy is deployed as a stateless server and supports MySQL > > protocol at present. In the paper [[ > > https://db.cs.cmu.edu/papers/2016/pavlo-newsql-sigmodrec2016.pdf|What’s > > Really New with NewSQL?]], three types of NewSQL are introduced, among > > which Sharding-Proxy is a Transparent Sharding Middleware. > > > > Sharding-Sidecar can be understood as a data panel in Service Mesh. The > > interaction between the application and the database provides a mesh > layer. > > The concept of Database Mesh is similar to Service Mesh, and it focuses > on > > how to connect data access applications to the database. Database Mesh > will > > set up a huge grid system between applications and databases. > Applications > > and databases need be placed in the grid system. They are all objects > > managed by the meshing layer. > > > > = Current Status = > > == Meritocracy == > > Sharding-Sphere was incubated at Dangdang in 2015 and open sourced on > > GitHub in 2016. In 2017, JingDong recognized its value and determined to > > sponsor this project. Sharding-Sphere has contributors and users from > many > > companies; we have set up the PMC Team and Committer Team. New > contributors > > are guided and reviewed by existed PMC members. When they are ready, PMC > > will start a vote to promote him/her to become a member of PMC or > Committer > > Team. See the details See the details [[ > > http://shardingsphere.io/community/en/organization/|here]]. > Contributions > > are always welcomed and highly valued. > > > > == Community == > > Now we have set development teams for Sharding-Sphere respectively in > > JingDong, Dangdang and Bestpay. Companies like Sohu and Dataman have > shown > > great interest in Sharding-Sphere. We hope to grow the base of > contributors > > by inviting all those who offer contributions through The Apache Way. > Right > > now, we make use of github as code hosting as well as gitter for > community > > communication. > > > > == Core Developers == > > The core developers, including experienced open source developers and > team > > leaders, have formed a group full of diversity. > > > > = Known Risks = > > == Orphaned products == > > Three development teams from JingDong, Dangdang and CHINA TELECOM Bestpay > > will spare no pains to work on Sharding-Sphere in the future with > > contributors from the growing community. Also, Sharding-Sphere is widely > > adopted in China by many [[ > > http://shardingsphere.io/community/en/company/|companies and > > organizations]]. Thus, it is very unlikely that Sharding-Sphere becomes > > orphaned. > > > > == Inexperience with Open Source == > > > > The current core developers all work for companies that have developed or > > contributed to many open source projects. > > > > * Liang Zhang, PMC. He is the lead of two open source projects, > > Sharding-Sphere and Elastic-Job. Also Committer of Apache Dubbo > (Incubator). > > > > * Sheng Wu, PMC. He is the PPMC and committer of Apache > > SkyWalking(Incubating), Apache Zipkin(Incubating) contributor, CNCF > > OpenTracing member. Also contributed a lot other open source projects. > > > > * Hongtao Gao, PMC. He is the PPMC and committer of Apache > > SkyWalking(Incubating) too. Also contribute a lot of features of > > Elastic-Job. > > > > Therefore, we believe we have enough experience to deal with open source. > > > > == Homogenous Developers == > > The current core developers work across a variety of organizations > > including Jingdong, Dangdang and CHINA TELECOM Bestpay; some individual > > developers are accepted as core developers of Sharding-Sphere as well. > > Considering that Sohu and Dataman have shown great interest in > > Sharding-Sphere, we plan to encourage them to contribute and invite them > as > > contributors to work together. > > > > == Reliance on Salaried Developers == > > At present, three of the core developers are paid by their employer to > > contribute to Sharding-Sphere project. It is estimated that the > development > > of Sharding-Sphere will be continued with mainly salaried developers, and > > we will make efforts to attract more volunteers and grow the community. > > > > == Relationships with Other Apache Products == > > > > An automatic prober of Sharding-Sphere is introduced into SkyWalking to > > send APM data, and SkyWalking also use Sharding-Sphere to persit tracing > > data. Saga provided by ServiceComb is adopted by Sharding-Sphere as one > of > > the distributed transaction processing engines. Sharding-Sphere > integrates > > Apache Zookeeper as one of the service registration/discovery mechanisms. > > > > == A Excessive Fascination with the Apache Brand == > > We acknowledge the value and reputation that the Apache brand would bring > > to Sharding-Sphere. However, our primary interest is in the excellent > > community provided by Apache Software Foundation, in which all the > projects > > could gain stability for long-term development. > > > > = Documentation = > > A complete set of Sharding-Sphere documentations is provided on > > shardingsphere.io in both English and Simplified Chinese. > > > > * [[http://shardingsphere.io/document/current/en/overview/|English]] > > * [[http://shardingsphere.io/document/current/cn/overview/|Chinese]] > > > > = Initial Source = > > The project consists of three distinct codebases: core, example and > > document. The address of three existed git repositories are as follows: > > > > * https://github.com/sharding-sphere/sharding-sphere > > * https://github.com/sharding-sphere/sharding-sphere-example > > * https://github.com/sharding-sphere/sharding-sphere-doc > > > > = Source and Intellectual Property Submission Plan = > > The codes are currently under Apache License Version 2.0 and have been > > verified to have no intellectual property or license issues before being > > released to open source by Dangdang in 2016. Dangdang will provide SGA > and > > all committers will sign ICLA after Sharding-Sphere is accepted into the > > Incubator. > > > > = External Dependencies = > > > > As all dependencies are managed using Apache Maven, none of the external > > libraries need to be packaged in a source distribution. All dependencies > > have Apache compatible licenses except MySQL (GPL-2.0). > > > > We will remove MySQL dependencies in future. MySQL JDBC driver is adopted > > by Sharding-Proxy to connect MySQL now; We will use SPI to load JDBC > > driver, so MySQL JDBC driver is no longer provided on Sharding-Sphere. > > > > * Guava Apache-2.0 > > * Guava Retrying Apache-2.0 > > * commons-codec Apache-2.0 > > * commons-pool Apache-2.0 > > * commons-dbcp Apache-2.0 > > * netty Apache-2.0 > > * curator Apache-2.0 > > * grpc Apache-2.0 > > * protobuf BSD 3-clause > > * lombok MIT > > * groovy Apache-2.0 > > * snakeyaml Apache-2.0 > > * spring-context-support Apache-2.0 > > * spring-context-test Apache-2.0 > > * spring-boot-starter Apache-2.0 > > * spring-boot-configuration-processor Apache-2.0 > > * spring-boot-starter-test Apache-2.0 > > * slf4j MIT > > * logback EPL-1.0 > > * junit EPL-1.0 > > * hamcrest BSD 3-clause > > * mockito MIT > > * h2 MPL-2.0/EPL-1.0 > > * mysql GPL-2.0 Will remove before first apache release, use SPI > instead > > of it > > * postgresql BSD > > * mssql-jdbc MIT > > * HikariCP Apache-2.0 > > * ANTLR BSD > > * OpenTracing BSD > > > > = Required Resources = > > == Git Repositories == > > * https://github.com/sharding-sphere/sharding-sphere.git > > * https://github.com/sharding-sphere/sharding-sphere-example.git > > * https://github.com/sharding-sphere/sharding-sphere-doc.git > > > > > > == Issue Tracking == > > > > The community would like to continue using GitHub Issues. > > > > == Continuous Integration tool == > > Travis > > > > == Mailing Lists == > > * Sharding-Sphere-dev: for development discussions > > * Sharding-Sphere-private: for PPMC discussions > > * Sharding-Sphere-notifications: for users notifications, and > > notifications from GitHub > > > > == Initial Committers == > > * 张亮, Liang Zhang, zhangli...@apache.org > > * 曹昊, Hao Cao, > > * 吴晟, Sheng Wu, wush...@apache.org > > * 高洪涛, Hongtao Gao, hanahm...@apache.org > > * 张永伦, Yonglun Zhang > > * 潘娟, Juan Pan > > * 赵俊, Jun Zhao > > * 岳令, Ling Yue > > * 马晓光, Xiaoguang Ma > > * 陈清阳, QingYang Chen > > > > == Affiliations == > > * JD: Liang Zhang, Yonglun Zhang, Juan Pan, Jun Zhao > > * Dangdang: Hao Cao, Ling Yue > > * CHINA TELECOM Bestpay: QingYang Chen > > * Individuals: Sheng Wu, Hongtao Gao, Xiaoguang Ma > > > > = Sponsors = > > == Champion == > > * Roman Shaposhnik (rvs at apache dot org) > > > > == Mentors == > > * Craig L Russell (clr at apache dot org) > > * Benjamin Hindman (benh at apache dot org) > > * Willem Ning Jiang (ningjiang at apache dot org) > > > > == Sponsoring Entity == > > We are expecting the Apache Incubator could sponsor this project. > > > > > > Best Regards, > > John(Zhang Liang) from Sharding-Sphere > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > >