Application development teams continually face challenges around costs, resources, time-to-market, feature completeness, and quality. Tools that promote rapid development and best practices are critical for meeting the stringent requirements of application initiatives. With the growing challenge of managing unstructured information and Big Data, development efficiency and effectiveness are more important than ever.
- Build complex, interactive search applications quickly. Allow users to do both simple and advanced searches, drill-down on results based on facets, and get fast access to lists of values.
- Program in your language of choice. Leverage a programming model that easily fits into your own application development environment, whether you develop in Java or in any other programming languages.
- Scale, scale, scale. Easily scale the applications to support billions of documents (or more) and 100s of thousands of transactions per second.
- Store and retrieve data in the same database. And, make new data available for querying immediately after it is stored.
Application Development Features
With many tools and APIs included, MarkLogic makes developing sophisticated applications easy. While there is virtually no limit to the type of applications you can create in MarkLogic, typical applications involve high-value content where the content changes dynamically, and where there is lots of content. The fact that when a document changes, the changes happen transactionally and are available for querying and searching immediately enables you to think about search differently.
Search is not just a keyword search and a list of links. It could be a way to find all of the documents that were updated in the last two weeks (because you just found out you need to update them again with some important corrections). Or, you might not remember or know exactly what you need to find, and by having facets to narrow and expand the search results, you can discover what you need more easily.
There are several features in MarkLogic to make it easy to develop robust and scalable applications.
Application Builder enables you to build a search application without writing a single line of code. The applications you build with Application Builder are real applications, both suitable for production applications and extremely useful for quickly prototyping ideas. You can use the applications as-is, or you can extend and modify them. The applications enable simple keyword searches, complex Boolean searches, and customized searches. The searches include facets (with counts) to drill down on data as well as snippets with the search terms highlighted.
Application Builder is an interactive wizard, making it easy to pick and choose the options to use in your application. You can add constraints to control the search, add Visualization Widgets to chart data with interactive charts, control the page layout, and so on.
With Application Builder, building fully-functional applications with fast performance over huge amounts of data is as easy as clicking through and selecting options.
The Java API is a full-featured search, store, update, and retrieval API to access a MarkLogic database. It is geared at Java developers and has Java objects that can easily be used in larger programs and large Java environments. It makes it easy to get search results with snippets, facets, and values. The searches are extremely flexible, using the same concepts and constructs as the Search API. You can take advantage of the vast set of tools and libraries available in Java and easily make callouts to MarkLogic to create full-featured database applications.
The REST API turns MarkLogic into a REST Server. With the REST API, you can create bindings to any language you want. For example, if you want to access MarkLogic from PHP, you just need to create simple HTTP calls from PHP and you are searching or updating data in a MarkLogic database. The Java API is built on top of the REST API and, like the Java API, the REST API allows you to choose between JSON and XML for sending and retrieving data from MarkLogic. The applications built with Application Builder also use the REST API. It is the foundation for building large, scalable apps.
If you use the Java or REST APIs, you can build your entire application without ever looking at any XQuery. If you want to use XQuery, however, MarkLogic includes a very rich set of XQuery APIs (including the Search API) and tools to let you build powerful single-tier applications directly in XQuery.
Data Loading Tools & Information Studio
Big Data applications often have huge databases. (They are often full of complex data with lots of variety, too.) When thinking about scale, think “load the Internet into a database” and you will be on the right track. While you can load content from Java or REST APIs, for loading huge amounts of content you would typically want to use a different tool. MarkLogic includes many tools to help with this.
The MarkLogic Content Pump (mlcp) is a command-line tool designed for large parallel loads that can optionally use Hadoop to further parallelize and speed the load process.
Information Studio is a GUI-based tool to create flows to load and process large amounts of data, and it includes facilities to monitor the load process for completion and for errors.
Whatever tool you use to load your content, MarkLogic will scale no matter how much content you have. And because MarkLogic is a transactional ACID-compliant database, any content is available for querying immediately after it is loaded, and has all of the enterprise features you would expect to deal with large deployments (failover, replication, backups, monitoring, and so on).
- Load data and content as-is without the need for a schema, and search the data as soon as it is loaded. Relational databases don’t let you do that.
- Get all of the enterprise capabilities that are required for mission-critical systems and have the ability to scale as requirements change and grow.
- Launch a full-featured application quickly with application development tools and add new features to the application efficiently over time.
Learn how you can get started quickly with our free Developer License.