Posts Tagged ‘software’

Titan Graph Database Integration with DynamoDB: World-class Performance, Availability, and Scale for New Workloads

Today, we are releasing a plugin that allows customers to use the Titan graph engine with Amazon DynamoDB as the backend storage layer. It opens up the possibility to enjoy the value that graph databases bring to relationship-centric use cases, without worrying about managing the underlying storage.

The importance of relationships

Relationships are a fundamental aspect of both the physical and virtual worlds. Modern applications need to quickly navigate connections in the physical world of people, cities, and public transit stations as well as the virtual world of search terms, social posts, and genetic code, for example. Developers need efficient methods to store, traverse, and query these relationships. Social media apps navigate relationships between friends, photos, videos, pages, and followers. In supply chain management, connections between airports, warehouses, and retail aisles are critical for cost and time optimization. Similarly, relationships are essential in many other use cases such as financial modeling, risk analysis, genome research, search, gaming, and others. Traditionally, these connections have been stored in relational databases, with each object type requiring its own table. When using relational databases, traversing relationships requires expensive table JOIN operations, causing significantly increased latency as table size and query complexity grow.

Enter graph databases

Graph databases belong to the NoSQL family, and are optimized for storing and traversing relationships. A graph consists of vertices, edges, and associated properties. Each vertex contains a list of properties and edges, which represent the relationships to other vertices. This structure is optimized for fast relationship query and traversal, without requiring expensive table JOIN operations.

In this way, graphs can scale to billions of vertices and edges, while allowing efficient queries and traversal of any subset of the graph with consistent low latency that doesn’t grow proportionally to the overall graph size. This is an important benefit for many use cases that involve accessing and traversing small subsets of a large graph. A concrete example is generating a product recommendation based on purchase interests of a user’s friends, where the relevant social connections are a small subset of the total network. Another example is for tracking inventory in a vast logistics system, where only a subset of its locations is relevant for a specific item. For us at Amazon, the challenge of tracking inventory at massive scale is not just theoretical, but very real.

Graph databases at Amazon

Like many AWS innovations, the desire to build a solution for a scalable graph database came from Amazon’s retail business. Amazon runs one of the largest fulfillment networks in the world, and we need to optimize our systems to quickly and accurately track the movement of vast amounts of inventory. This requires a database that can quickly traverse the logistics history for a given item or order. Graph databases are ideal for the task, since they make it easy to store and retrieve each item’s logistics history.

Our criteria for choosing the right graph engine were:

  1. The ability to support a graph containing billions of vertices and edges.
  2. The ability to scale with the accelerating pace of new items added to the catalog, and new objects and locations in the company’s expanding fulfillment network.

After evaluating different technologies, we decided to use Titan, a distributed graph database engine optimized for creating and querying large graphs. Titan has a pluggable storage architecture, using existing NoSQL databases as underlying storage for the graph data. While the Titan-based solution worked well for our needs, the team quickly found itself having to devote an increasing amount of time to provisioning, managing, and scaling the database cluster behind Titan, instead of focusing on their original task of optimizing the fulfillment inventory tracking.

Thus, the idea was born for a robust, highly available, and scalable backend solution that wouldn’t require the burden of managing a massive storage layer. As I wrote in the past, I believe DynamoDB is a natural choice for such needs, providing developers flexibility and minimal operational overhead without compromising scale, availability, durability, or performance. Making use of Titan’s flexible architecture, we created a plugin that uses DynamoDB as the storage backend for Titan. The combination of Titan with DynamoDB is now powering Amazon’s fulfillment network, with a multi-terabyte dataset.

Sharing it with you

Today, we are happy to bring the result of this effort to customers by releasing the DynamoDB Storage Backend for Titan plugin on GitHub. The plugin provides a flexible data model for each Titan backend table, allowing developers to optimize for simplicity (single-item model) or scalability (multi-item model).

The single-item model uses a single DynamoDB item to store edges and properties of a vertex. In DynamoDB, the vertex ID is stored as the hash key of an item, vertex property and edge identifiers are attribute names, and the vertex property values and edge property values are stored in the respective attribute values. While the single-item data model is simpler, due to DynamoDB’s 400 KB item size limit, you should only use it for graphs with fairly low vertex degree and small number properties per vertex.

For graphs with higher vertex degrees, the multi-item model uses multiple DynamoDB items to store properties and edges of a single vertex. In the multiple-item data model, the vertex ID remains the DynamoDB hash key, but unlike the single-item model, each column becomes the range key in its own item. Each column value is stored in its own attribute. While requiring more writes to initially load the graph, the multiple-item model allows you to store large graphs without limiting vertex degree.

Amazon’s need for a hassle-free, scalable Titan solution is not unique. Many of our customers told us they have used Titan as a scalable graph solution, but setting up and managing the underlying storage are time-consuming chores. Several of them participated in a preview program for the plugin and are excited to offload their graph storage management to AWS. Brian Sweatt, Technical Advisor at AdAgility, explained:

“At AdAgility, we store data pertaining to advertisers and publishers, as well as transactional data about customers who view and interact with our offers. The relationships between these stakeholders lend themselves naturally to a graph database, and we plan to leverage our experience with Titan and Groovy for our next-generation ad targeting platform. Amazon’s integration between Titan and DynamoDB will allow us to do that without spending time on setting up and managing the storage cluster, a no brainer for an agile, fast-growing startup.”

Another customer says that AWS makes it easier to analyze large graphs of data and relationships within the data. According to Tom Soderstrom, Chief Technology Officer at NASA’s Jet Propulsion Laboratory:

“We have begun to leverage graph databases extensively at JPL and running deep machine learning on these. The open sourced plugin for Titan over DynamoDB will help us expand our use cases to larger data sets, while enjoying the power of cloud computing in a fully managed NoSQL database. It is exciting to see AWS integrate DynamoDB with open sourced projects like Elasticsearch and Titan, while open sourcing the integrations.”

Bringing it all together

When building applications that are centered on relationships (such as social networks or master data management) or auxiliary relationship-focused use cases for existing applications (such as a recommendation engine for matching players in a game or fraud detection for a payment system), a graph database is an intuitive and effective way to achieve fast performance at scale, and should be on your database options shortlist. With this launch of the DynamoDB storage backend for Titan, you no longer need to worry about managing the storage layer for your Titan graphs, making it easy to manage even very large graphs like the ones we have here at Amazon. I am excited to hear how you are leveraging graph databases for your applications. Please share your thoughts in the comment section below.

For more information about the DynamoDB storage backend plug-in for Titan, see Jeff Barr’s blog and the Amazon DynamoDB Storage Backend for Titan topic in the Amazon DynamoDB Developer Guide

Greater Revenue Through Systems of Engagement

Geoffrey Moore coined the term “systems of engagement” to describe IT systems that support multiway communication and collaboration between businesses and customers. These are distinct from “systems of record,” or those IT systems (e.g., databases and management information systems) designed primarily for one-way, read access of structured data. In today’s highly competitive global markets, digital systems of engagement are an absolute necessity for enhanced employee productivity, partnership success, customer satisfaction and brand loyalty ̶ all of which result in revenue growth. In fact, a Deloitte Digital survey found that by the end of the year, digital interactions would influence 64 cents of every dollar spent in retail stores.

In its global survey for IBM, “Systems Of Engagement Demand New Integration Solutions — And A New IT,” Forrester Research reports how customer expectations of their business interactions are changing dramatically. What customers want most are easier interactions, the ability to deal with them via their smartphones and consistent treatment across all channels. And as any successful business knows, the customer is always right.

Companies that embrace SMAC (social, mobile, analytics and cloud) will be best positioned to deliver systems of engagement that meet these users’ expectations. For example, users want to engage with retailers, banks, and any other personal or business services via any device and any channel, from mobile apps on their smartphones, to tablets, social media and cloud-based e-commerce websites. Wearables are also increasing in popularity, with the Workforce Institute at Kronos Inc. reporting that 73% of online adults see “safety and wellness” as one potential wearable-workplace benefit.

Perhaps most important, users expect customized interactions, in which big data and analytics deliver the intelligence required to enhance user experiences and drive new revenue. For example, by targeting customers with personalized offers and suggesting relevant purchases, retailers leverage valuable customer data to encourage new sales. And the multiway interaction continues after the purchase. Customers are engaged in providing retailers with product feedback and chatter on social media about product quality, which the retailer then analyzes to gain insights for encouraging return business. Add the Internet of Things (IoT), and soon organizations will be engaging with cars, appliances and other purchased items, spurring new sources of service revenue that have the potential to last for years.

From the Center to the Edge

Moving to systems of engagement requires an Interconnection Oriented Architecture™ that can deliver a satisfying, real-time experience for any user, anywhere, on any device, via any engagement channel.

In an age of digital images, voice and video, more than fat pipes are required ̶ low latency is vital. Low latency comes from proximity, not only to the user, but also among the applications, data repositories, cloud services and other elements that drive the engagement experience.

That’s why successful enterprises are moving from a centralized interconnection architecture, with multiple long-distance MPLS, Internet virtual private networks (VPNs), and other connections emanating from one or two corporate data centers, to a more distributed interconnection architecture that harnesses existing, globally dispersed interconnection/colocation data centers (such as Equinix) that house multiple cloud services, network providers and partner ecosystems.

An interconnected enterprise leverages proximate, direct, high-speed interconnections among clouds, partners and other IT delivery systems for fast, low-latency interactions, bringing all of these services closer to dispersed global users. Rather than building multiple connections one by one, organizations can simply extend their network to the nearest interconnection access point.

With systems of engagement and data pushed to the edge, close to mobile users, the entire user experience on any device is transformed. Countless organizations have benefited from this transformative architecture, including these Equinix customers:

  • A major multinational banking and financial services firm reduced latency by 45% by strategically deploying its banking applications in multiple global interconnection centers.
  • A health care Software-as-a-Service (SaaS) provider achieved real-time customer service interactions by leveraging a globally dispersed interconnection architecture to securely deliver on-demand software updates.

The future is engagement, which means you need to get up close and interconnect.

Smart Tools to Improve Cash Flow and Collections

No business can operate over the long term without generating sufficient cash inflows. Even a profitable firm will struggle if it can’t collect enough cash to fund operations. If cash collections are too slow, there are some great tools that can help you improve the process. When your business faces this challenge, an outside expert can help you address this critical issue.

Understanding Working Capital

Working capital, broadly defined as current assets less current liabilities, is needed to address cash flow and liquidity. In this case, “current” refers to 12 months or fewer. Current assets include cash and anything you expect to convert to cash within 12 months. Inventory and accounts receivable are two current assets that can be sources of cash. You collect on accounts receivable to generate cash and sell inventory to collect cash.

How Much Cash Do You Need?

If you need a system to collect receivables faster, how much cash is enough? How much cash do you need each week or month to operate your business? The answer to that question will be your collection goal for a given time period.

Technology can help you find out your cash needs quickly. As this article explains, Expensify is a mobile app that helps a business process and pay expenses remotely. The app will store your expense payment history. If you need a quick estimate of your firm’s expenses, you can check your Expensify activity.

If you find estimating your cash requirements difficult, an outsourced controller service can help by forecasting your required cash flow. The firm can also help you determine your cash needs and create a plan to collect cash faster.

Implementing Your Collection Plan

Assume that Bob’s commercial plumbing business requires $30,000 a week to operate. Bob’s outsourced controller helps him with this calculation. He realizes that the next step is to implement a cash collection program.

Quickbooks online accounting software offers a variety of reports to track your progress on cash collections. An aged accounts receivable report, for example, will group your receivables together, based on the date of each invoice. This report provides a quick snapshot of how fast you’re collecting receivables.

A lack of manpower can prevent a business from generating more cash flow and profit, as explained in this article. In this case, an outsourced controller sets up a system to generate and review accounts receivable aging reports each week. The controller sits down with company management and documents a formal collection policy. The plumbing firm follows up with delinquent customers using the new policy. Outsourcing this work helps the business collect cash faster.


13 Reasons All Our New Clients Use (and Love!)

We pride ourselves on being on the cutting edge of accounting technology and innovations both on behalf of our customers as well as in our role as an industry expert. After extensive review, we made the company-wide decision in 2014 to bring all new clients on the platform as they were on boarded as a client. To date we can say client experiences have been nothing less than stellar—and after a year and a half we seen enough to compile the following list of features that our clients love about

  1. Instant access and connections from invoice lists and bills to vendor information, historical documents and statements, and all related data.
  2. Smart support via drop down suggestions and keyword search, keeping you from having to remember vendor names or specifics to find the information you need.
  3. Current vendor status snapshots and notes in one place.
  4. The ability to choose which bills to pay, edit payment amounts and ask questions about invoices from one interface, without navigating between screens or programs.
  5. Comprehensive dashboards with segmented areas to consolidate invoices with partial payments.
  6. Major vendors are already enrolled in the system and easy to link to new accounts.
  7. Payments are made electronically with vendors getting an invite and taking over the responsibility of updating their bank information to receive payment.
  8. No more printing, stuffing or signing checks.
  9. QuickBooks balances and bank balances are synchronized without check cashing delays.
  10. Mobile applications and cloud-based systems allow users the ability to approve via any device with the internet.
  11. Multiple approval levels managed within single workflows without any burden on users.
  12. Old information is readily accessible so questionable transactions can be reviewed, cleared check information can be printed to send to vendors and all historical data can be retrieved easily.
  13. Everything is readily available online, allowing users the ability to run reports, export and view offline, and access information without waiting on others or putting in requests.

Did we mention no more manual data management—ever? Yes, our clients love And so do we.


Accounting and Bookkeeping Software for Independent Contractors

As an independent contractor, it is important to make sure your books are in order. One of the main reasons for this is to make your tax reporting a lot easier and get you back to work as quickly as possible. As an independent contractor, you are responsible for paying quarterly income taxes–which can be an arduous process if you don’t know what you’re doing. Knowing how much you are paying out and bringing in will assist in getting your taxes paid in a timely and accurate manner and reduce the amount of time spent with your bookkeeper or accountant. Having an accounting system in place will increase productivity and help your business run efficiently. By keeping track of bills, receipts, your net profit and gross profit, and by maintaining a clean balance sheet, you can keep an eye on your money without taking too much time from your day job.

To help get your accounting system up and running, check out a few accounting industry software providers we like to use with our clients:

Quickbooks Online

QuickBooks is now available in the cloud for on-the-go accounting and allows you to import your monthly bank statements directly into the program for ease of use. There are a variety of functions you can use based on your niche for well-documented recording and its easy-to-use interface can help you get up and going whether you manage your books entirely on your own or use an outsourced bookkeeping service. Plus, if you take payments through different online shopping sites, it includes the ability to keep track of your expenses and income from PayPal, Amazon, Etsy and eBay.


Keeping all your receipts together can be a hassle. This program lets you take a picture with your smartphone, catalog it directly with the phone app, and organize based on project, client or another categorization method as you determine. If your business is especially expense-heavy, including lots of on-the-go receipts, you likely run the risk of losing receipts or failing to keep adequate track of your expenses. And the last thing you want to do is find yourself sifting through a box of unorganized receipts every quarter. Tallie can help you manage your receipts as you create them–and syncs directly with QuickBooks Online for seamless data management.


ScanWriter assists with automated data entry directly into QuickBooks, including 100s of transactions from bank and credit card statements, bills, sales orders and invoices. A lot of independent contractors find themselves spending countless hours hand-keying data–which takes up way more time than it is worth. Instead of catching up on data entry on your day off, using an automated system will help you get data entered quickly and correctly (less user error!).

Start encouraging your accounts payable to take electronic payments–and then move your accounts payables and accounts receivables into the 21st century with You’d be surprised how many of your payments can be switched to ACH payments–we help our clients switch to electronic payments for as many vendors as possible to help streamline the bill review, payment and approval process. Whether you’re the only person reviewing bills or you’re working with a partner or small team, can help automate the entire review process for you.

Staying on top of your accounting will save you a lot of time, effort and money in the long run. Finding and utilizing the programs that meet your needs will help make you a successful indepedent contractor. And if you need any help, an online bookkeeping service can help you get up and running, from managing your entire accounting department to assisting with accounting software integrations or specific bookkeeping services.

Wondering what accounting services are available for independent contractors? See whether accounting services are for you.


7 Surprising Time-Saving Accounting Automations

The never-ending debate about whether accountants and bookkeepers can be replaced is ongoing still. Of course, you’ll likely always need actual human professionals to weigh in and oversee many functions—but there is a growing list of tasks and processes that can be automated to save everyone time and money. We have compiled 7 of the top automations we encounter regularly in the hopes that we unveil at least a handful of things you may never have considered but now will not be able to live without. And if you’re automating something special that we didn’t cover, tell us in the comments!

  1. Import Bank Transactions

    Please, please, please tell us you are not manually entering any bank transactions in QuickBooks. A long time ago, we paid an Excel guru to create a really impressive workflow to automate this process for us—and it set us ahead of the game. But now, everyone can (and should) automatically import bank transactions into QuickBooks.

  2. Credit Card Statement Imports

    Bank transaction imports? Wait, that’s not all! Your credit card transactions can also automatically import to QuickBooks as well. (And other accounting platforms too of course). You may need to contact your credit card company for logon information to activate online service—but a simple phone call should get you the information you need in no time.

  3. Expense Report Submissions

    Whether you have one employee with expenses or 100, tracking down employees’ expense reports, verifying information, and managing receipts is a headache. All that paper pushing is a waste of everyone’s time—time that can be better spent on the company. Using an expense management application (like our friends at Tallie) can help you automate all of this—from taking photos of receipts in real-time to compiling and submitting expense reports from a mobile device, your employees will never have to rely on pen, paper and time again.

  4. Expense Report Sync To Accounting Software

    Did we mention that the expense management software doesn’t live in a bubble? It should integrate with your accounting software to pull your expense directly into your financial statements. And whether your reimbursements are done via ACH, live check or payroll, they can manage that too. Automation at its finest!

  5. Field Employee Time Tracking

    Nothing worse than having to collect and compile messy, difficult to read time cards from field employees. They’re busy, you’re busy, and yes, it is still way too much paper. Instead, time tracking applications with mobile interfaces (such as TSheets) allow field employees the ability to clock in from the field by either text message or mobile application. This supports real-time time tracking and funnels data directly into your general ledger system. No more delayed payroll because of missing time sheets.

  6. Generate Automatic Invoices

    If your business doesn’t get paid, nothing else matters. Therefore, any improvement you can make to generating and distributing invoices is a huge step towards improving your accounts receivable process. You can use any number of programs, from to QuickBooks to PayPal to automatically generate new invoices, including on a recurring basis, and send directly to your clients.

  7. Invoice Approval Workflows

    There is nothing we dislike more than a pile of invoices waiting to be reviewed. It just seems so—unnecessary. Instead, you could automate the whole thing, review invoices, read back up documentation and approve payments in one interface. You can setup multiple approval workflows for different types of invoices or payments—for example, if a certain department needs to verify the expenses before the CEO will issue final approval—and you can do it all from any device with internet access. So much nicer than paper piles!

Want more information on how to improve your bookkeeping and accounting? We have you covered!


10 best free project management software programs

1. Best free project management software: Trello

Trello utilises a project-management system developed by a former Toyota vice president, Taiichi Ohno. Every task is represented as a card, which allows you to create a visual representation of what is happening with a project. It is surprisingly effective And free if you can live with only 10MB of storage.


2. Best free project management software: Freedcamp

A more traditional type of project-management tool, Freedcamp is great for scaling up a business. It works perfectly well as a free tool for when you are starting a business, and costs very little to build on, with multiple paid-for bolt ons enabling new features as you go. It offers good admin tools, fleet management, and customer relationship management. Great for collaborating with colleagues and clients.


3. Best free project management software: Producteev

Producteev is rare in that it offers unlimited users and projects even on the free version. We can see no good reason to pay to upgrade, so if you want a long-term free project-management tool that is easy to use and flexible, look no further.


4. Best free project management software: GanttProject

Our first open-source project management tool, GanttProject offers all the features you could ever need, but has a reputation for being somewhat complex. You will never need to pay for it, however. And if you want project management software that can flex to your needs it comes recommended.


5. Best free project management software: Asana

Designed by Facebook founder Dustin Moskovitz, Asana benefits from a social-network-like level of untuition and ease. It is both simple, and effective, and offers a visual style that will help you get things done. Some users complain that it lacks the full feature set of some of the others mentioned here.


7. Best free project management software: 2-Plan Team

2-Plan offers great features for no cost, but navigating the way the software works can be tricky. In essence, get everyone working using 2-Plan Desktop, and then merge up the projects with 2-Plan Team. You won’t regret it.


8. Best free project management software: Bitrix24

Ideal for small businesses, Bitrix24 remains free forever, so long as you don’t exceed 12 users. Other great small- or home office features include the ability to communicate across multiple locations, and free cloud storage for your projects.


9. Best free project management software: BamBam!

Another tip for which we thank, BamBam! is free for up to 10 users, and allows unlimited projects and storage for those 10 users.

10. Best free project management software: Zoho Projects

Unlimited in terms of users and projects, the free version of Zoho Projects is limited to only 10MB of storage.

March 2018
« Jan    
  • America's Best Colleges
    Forbes' list of public and private colleges and universities ranks the best schools--from the students' point of view.
  • Twelve Nasty Work-From-Home Scams
    Does the offer of making a mint in your pajamas sound too good to be true? It surely is.
  • The World's Most Powerful Celebrities
    Oprah Winfrey takes back her crown while pop chart phenomenon Lady Gaga catapults to No. 4 on this year's Celebrity 100.
  • The World's Leading Companies
    This comprehensive report analyzes the world's biggest companies and the best performing of these titans.
  • The World's Billionaires
    Carlos Slim Helu takes the No. 1 spot on Forbes' annual list of the world's richest as a record 164 billionaires return to the ranking amid the global economic recovery.
NY Business