diff options
author | Jesse Morgan <morganjm@amazon.com> | 2013-12-03 13:57:34 -0800 |
---|---|---|
committer | Jesse Morgan <morganjm@amazon.com> | 2013-12-03 13:57:34 -0800 |
commit | 858923aae399ec6683d61564f202340a98c32bc3 (patch) | |
tree | 99b3d80d3e754e033ce90a5f6298aedd3642fb79 /src/site/apt | |
parent | bcfaaffa3751f8c7883e41c162ba4030fd9bd21a (diff) |
Updating POM and moving site to README.md
Diffstat (limited to 'src/site/apt')
-rw-r--r-- | src/site/apt/index.apt | 182 | ||||
-rw-r--r-- | src/site/apt/trademark.apt | 153 |
2 files changed, 0 insertions, 335 deletions
diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt deleted file mode 100644 index e0c1717..0000000 --- a/src/site/apt/index.apt +++ /dev/null @@ -1,182 +0,0 @@ - ----- - Home - ----- - -Carbonado - - Carbonado is an extensible, high performance persistence abstraction layer -for Java applications, providing a relational view to the underlying -persistence technology. Persistence can be provided by a JDBC accessible SQL -relational database, or it can be a Berkeley DB. It can also be fully replicated -between the two. - - Even if the backing database is not SQL based, Carbonado still supports -many of the core features found in any kind of relational database. It supports -queries, joins, indexes, and it performs query optimization. When used in this -way, Carbonado is not merely a layer to a relational database, it <is> the -relational database. SQL is not a requirement for implementing relational -databases. - - Defining new types in Carbonado involves creating an interface or abstract -class which follows Java bean conventions. Additional information is specified -by inserting special annotations. At the very least, an annotation is required -to specify the primary key. Annotations are a feature first available in Java -5, and as a result, Carbonado depends on Java 5. - - On the surface, it may appear that Carbonado types are defined like POJOs. -The difference is that in Carbonado, types are object representations of -relations. It is not an object database nor an object-relational bridge. In -addition, data type definitions are simply interfaces, and there are no external -configuration files. All the code to implement types is auto-generated, yet -there are no extra build time steps. - - Carbonado is able to achieve high performance by imposing very low overhead -when accessing the actual storage. Low overhead is achieved in part by auto -generating performance critical code, via the Cojen library. - -* Version 1.2 - - Carbonado 1.2 adds many new features, which are summarized here and in the {{{http://carbonado.svn.sourceforge.net/viewvc/*checkout*/carbonado/trunk/Carbonado/RELEASE-NOTES.txt}release notes}}: - - * General features - - * Loads and queries can invoke {{{apidocs/com/amazon/carbonado/Trigger.html#afterLoad%28S%29}triggers}}. - - * Added support for {{{apidocs/com/amazon/carbonado/Derived.html}derived}} properties. - - * Storable property values can be accessed by {{{apidocs/com/amazon/carbonado/Storable.html#getPropertyValue%28java.lang.String%29}name}} in addition to the direct method. - - * Repositories - - * New {{{apidocs/com/amazon/carbonado/repo/map/MapRepositoryBuilder.html}volatile repository}} provided, backed by a {{{http://java.sun.com/javase/6/docs/api/java/util/concurrent/ConcurrentSkipListMap.html}ConcurrentSkipListMap}}. - - * Replicated repository resync operation allows a {{{apidocs/com/amazon/carbonado/capability/ResyncCapability.html#resync%28java.lang.Class,%20com.amazon.carbonado.capability.ResyncCapability.Listener,%20double,%20java.lang.String,%20java.lang.Object...%29}listener}} to be installed which can monitor progress or make changes. - - * Berkeley DB repositories add support for BigInteger and BigDecimal property types. - - * JDBC features - - * Created {{{apidocs/com/amazon/carbonado/Automatic.html}@Automatic}} annotation, which enables MySQL auto-increment columns. - - * Added {{{apidocs/com/amazon/carbonado/sequence/StoredSequence.html}sequence support}} for SQL databases that don't natively support sequences. - - * Support for {{{apidocs/com/amazon/carbonado/repo/jdbc/JDBCRepositoryBuilder.html#setAutoVersioningEnabled%28boolean,%20java.lang.String%29}automatic version management}}, eliminating the requirement that triggers be installed on the database. - - * More lenient with respect to column mappings: numbers and dates can represented by Strings; character data type supported; non-null column can be marked as @Nullable if also @Independent. - - * Query engine features - - * Added {{{apidocs/com/amazon/carbonado/Query.html#fetchSlice%28long,%20java.lang.Long%29}Query.fetchSlice}} method for supporting limits and offsets. - - * Derived properties can be indexed, allowing function and join indexes to be defined. - - * Added support for "where exists" and outer joins in queries via new syntax. This is explained in the "Queries with joins" section of the {{{docs/CarbonadoGuide.pdf}User Guide}}. - - * Added convenience method, {{{apidocs/com/amazon/carbonado/Query.html#exists%28%29}Query.exists}}. - - * Optimizations for covering indexes when using Berkeley DB. - -* Packages - - Carbonado is broken down into several package bundles for better dependency -management. The easiest way to get started with Carbonado is to use the Berkeley DB JE -backed repository. For this, you need to get the Carbonado and -CarbonadoSleepycatJE package bundles. - - * {{{http://sourceforge.net/project/showfiles.php?group_id=171277&package_id=195677}Carbonado}} - - Core Carbonado code, depends on {{{http://jakarta.apache.org/commons/logging/}Apache Commons Logging}}, {{{http://joda-time.sourceforge.net/}Joda-Time}}, and {{{http://cojen.sourceforge.net/}Cojen}}. - - * {{{http://sourceforge.net/project/showfiles.php?group_id=171277&package_id=208711}CarbonadoSleepycatJE}} - - Contains repository for supporting Sleepycat/Oracle, {{{http://www.oracle.com/database/berkeley-db/je/index.html}Berkeley DB Java Edition}}. Berkeley DB JE code must be downloaded and installed separately. - - * {{{http://sourceforge.net/project/showfiles.php?group_id=171277&package_id=208709}CarbonadoSleepycatDB}} - - Contains repository for supporting Sleepycat/Oracle {{{http://www.oracle.com/database/berkeley-db/db/index.html}Berkeley DB}}. Berkeley DB code must be downloaded and installed separately. - - [] - -* Terminology - - Loose mapping from Carbonado terminology to SQL terminology: - -*---------------------+-------------------------+ -| <<Carbonado>> | <<SQL>> | -*---------------------+-------------------------+ -| Repository | database | -*---------------------+-------------------------+ -| Storage | table | -*---------------------+-------------------------+ -| Storable definition | table definition | -*---------------------+-------------------------+ -| Storable instance | table row | -*---------------------+-------------------------+ -| property | column | -*---------------------+-------------------------+ -| Query | select/delete statement | -*---------------------+-------------------------+ -| Cursor | result set | -*---------------------+-------------------------+ - -* Limitations - - Carbonado queries are not as expressive as SQL selects. Unlike SQL, -Carbonado queries do not support data -processing or aggregate functions. See Carbonado -{{{http://sourceforge.net/tracker/?group_id=171277&atid=857357}feature -requests}}. - - Carbonado supports the minimal querying capability that makes automatic -index selection possible. Other features available in SQL can be emulated in -code. If the database is local, then this offers no loss of performance. - - Applications that wish to use Carbonado only as a convenient layer over SQL -will not be able to use full SQL features. Carbonado is by no means a -replacement for JDBC. These kinds of applications may choose a blend of -Carbonado and JDBC. To facilitate this, access to the JDBC connection in use by -the current transaction is supported. - - The Carbonado repositories that are backed by Berkeley DB use a rule-based query -optimizer to come up with a query plan. Cost-based optimizers are generally -much more effective, since they estimate I/O costs. Carbonado has a rule-based -optimizer mainly because it is easier to write. - -* Persistence Technology Requirements - - Carbonado is capable of supporting many different kinds of persistence -technologies. A minimum set of features is required, however, in order to -provide enough Carbonado features to justify the effort: - - * Arbitrary keys and values - - * Get value by key - - * Put value by key (does not need to distinguish insert vs update) - - * Delete value by key - - * Ordered key iteration - - * Iteration start specified via full or partial key - - [] - - Ideally, the persistence technology should support transactions. If it does -not, then its transactions must be implemented by batching updates in -memory. The updates are not persisted until the transaction is committed. If -atomic batch updates are supported, then the repository can report supporting -an isolation level of "read committed". Otherwise, it can only support the -lowest level of "read uncommitted". - - Additional features which are nice to have, but not strictly required: - - * Reverse iteration - - * ACID transactions - - * Storable type segregation (eliminates need to define key prefixes) - - * Truncation by storable type, if segregated - - [] diff --git a/src/site/apt/trademark.apt b/src/site/apt/trademark.apt deleted file mode 100644 index 29de781..0000000 --- a/src/site/apt/trademark.apt +++ /dev/null @@ -1,153 +0,0 @@ - -----
- Carbonado Trademark Policy
- -----
- -----
- 2006-10-23
- -----
-
-Carbonado Trademark Policy
-
-* Introduction
-
- This document outlines the policy of Amazon Technologies, Inc ("Amazon,"
-for short) regarding the use of the "Carbonado" trademark (the "Trademark")
-used to identify Amazon's <<Carbonado\u2122>> data access software. Any use of the
-Trademark must be in accordance with this policy; any use of the Trademark in
-violation of these guidelines shall automatically terminate the license granted
-herein{{{#1}\u00b9}}.
-
- Amazon's trademark policy attempts to balance two competing interests:
-Amazon's need to ensure that its trademarks remain reliable indicators of
-quality and security; and Amazon's desire to permit community members, software
-distributors and others that Amazon works with to discuss Amazon's products and
-to accurately describe their affiliation with Amazon. Striking a proper balance
-is a tricky situation that many organizations \u2013 in particular those whose
-products are distributed electronically \u2013 wrestle with every day.
-
- Underlying Amazon's trademark policy is the general law of
-trademarks. Trademarks exist to help consumers identify, and organizations
-publicize, the source of products. Some organizations make better products than
-others; over time, consumers begin to associate those organizations (and their
-trademarks) with quality. When such organizations permit others to place their
-trademarks on goods of lesser quality, they find that consumer trust evaporates
-quickly. That's the precise situation that Amazon seeks to avoid \u2013 especially
-since, when it comes to intangible products like software, trust is all
-consumers have to decide on.
-
-* Overall Guidelines
-
- Amazon's trademark policy is composed of a number of specific rules, most of
-which reflect the overarching requirement that your use of Amazon's trademarks
-be non-confusing and non-disparaging. By non-confusing, Amazon means that
-people should always know who they are dealing with, and where the software
-they are downloading came from. By non-disparaging we mean that, outside the
-bounds of fair use, you can't use our Trademark as a vehicle for defaming us or
-sullying our reputation.
-
- [[1]] <<Non-confusing>> - You may not display the Trademark in any manner that implies sponsorship or endorsement by Amazon.
-
- [[2]] <<Non-disparaging>> - You may not use the Trademark in a manner which, in Amazon's reasonable judgment, may diminish or otherwise damage Amazon's goodwill in the Trademark.
-
- []
-
- These basic requirements can serve as a guide as you work your way through
-the policy.
-
- The lawyers also require us to tell you that "all rights to the Trademark
-are the exclusive property of Amazon, and that the goodwill generated
-through your use of the Trademark will inure to the benefit of Amazon."
-This basically means that Amazon retains rights to the Trademark, and your
-use of the Trademark does not transfer ownership in the Trademark to you;
-Amazon reserves the right to revoke its permission to use the Trademark at any
-time. Whenever you use the Trademark, that use is for the benefit of Amazon no
-matter how tightly you've tied the Trademark to something you're doing.
-
-* Guidelines for Printed Materials and Web Sites
-
- The following basic guidelines apply to almost any use of the Trademark in
-printed materials, including marketing, fundraising and other publicity-related
-materials, and websites:
-
- * <<Proper Form>> - Amazon's Trademark should be used in its exact form \u2013
- neither abbreviated nor combined with any other word or words
- (e.g. "Carbonado" software rather than "CBN" or "Carbonadified");
-
- * <<Accompanying Symbol>> - The first or most prominent mention of the Trademark
- should be accompanied by a symbol indicating that it is an unregistered
- trademark ("\u2122");
-
- * <<Notice>> - The following notice should appear somewhere nearby (at least on
- the same page) the first use of the Trademark: "<Amazon, Amazon.com, and the
- Amazon.com logo are registered trademarks of Amazon.com, Inc or its
- affiliates. Carbonado is a trademark of Amazon Technologies, Inc.>";
-
- * <<Distinguishable>> - In at least the first reference, the Trademark should be
- set apart from surrounding text, either by capitalizing it or by italicizing,
- bolding or underlining it.
-
- []
-
-* Guidelines for Software Distributions
-
-** Serious Modifications
-
- Those taking full advantage of the open-source nature of the Carbonado code
-base and making significant functional changes may not redistribute the fruits
-of their labor under any Amazon trademark. For example, it would be
-inappropriate for them to say "based on Amazon's Carbonado data access
-software." Instead, in the interest of complete accuracy, they should describe
-their executables as "based on Amazon technology", or "incorporating Amazon
-source code." They should also change the name of the executable to reduce the
-chance that a user of the modified software will be misled into believing it to
-be a native Amazon product.
-
-** Related Software
-
- The Carbonado\u2122 data access software is designed to be extended, and
-Amazon recognizes that community members writing extensions need some way to
-identify the Amazon product to which their extensions pertain. Amazon's main
-concern about extensions is that consumers not be confused as to whether they
-are official (meaning approved by Amazon) or not. To address that concern,
-Amazon requests that extension names not include, in whole or in part, the
-words "Amazon" or "Carbonado" in a way that suggests a connection between
-Amazon and the extension (e.g. "Crassifier for Carbonado," would be acceptable,
-but "Carbonado Crassifier" would not).
-
-* Domain Names
-
- If you want to include all or part of an Amazon trademark in a domain name,
-you have to receive written permission from Amazon. People naturally associate
-domain names with organizations whose names sound similar. Almost any use of an
-Amazon trademark in a domain name is likely to confuse consumers, thus running
-afoul of the overarching requirement that any use of an Amazon trademark be
-non-confusing.
-
- To receive written permission, contact the Trademarks group, as discussed below.
-
-* Questions
-
- Amazon has tried to make its trademark policy as comprehensive as
-possible. If you're considering a use of an Amazon trademark that's not covered
-by the policy, and you're unsure whether that use would run afoul of Amazon's
-guidelines, feel free to contact us and ask. Please keep in mind that Amazon
-receives lots and lots of similar questions, so please review all available
-documentation before contacting us.
-
- If you have questions about these guidelines or use of this or any other
-Amazon trademark, please contact trademarks@amazon.com for assistance, or
-write to us at:
-
-*----------------------------------------------*
- <<Amazon.com, Inc., Attention: Trademarks,>>
- <<PO Box 81226 Seattle, WA 98108-1226>>
-*----------------------------------------------*
-
-
-=======================================================================================
-
- {1} This policy is based in part on the open source trademark
-policy defined by the Mozilla organization, available
-{{{http://www.mozilla.org/foundation/trademarks/policy.html}here}}. Per the terms of
-that policy, this policy is owned by Amazon and licensed under the Creative
-Commons "Attribution-ShareAlike 2.0" license. Details can be seen
-{{{http://www.mozilla.org/foundation/licensing/website-content.html}here}}.
|